teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2019/12/23 02:58

投稿

退会済みユーザー
answer CHANGED
@@ -3,7 +3,7 @@
3
3
  **提示範囲外なので余談**
4
4
  SQL インジェクションはバインド機構を使用することでおおよそ防ぐことが可能ですが、PDO インスタンス生成時にパラメータを正しく渡してない場合、ごく限定的な条件下で、SQL インジェクションの危険性を残します。
5
5
 
6
- 対策自体はごく簡単で dsn のオプションとして DB に合致した`charset`を渡し、更に安全に倒すのであれば、コンストラクタに渡すオプションとして`PDO::ATTR_EMULATE_PREPARES => false,`
6
+ 対策自体はごく簡単で dsn のオプションとして DB に合致した`charset`を渡し、`SET NAMES`を使用せず、更に安全に倒すのであれば、コンストラクタに渡すオプションとして`PDO::ATTR_EMULATE_PREPARES => false,`
7
7
  を設定すると良いです。
8
8
 
9
9
  PDO による DB 接続に関しては、この記事をひと通り読んでみると良いです。