同様の質問を見つけましたが、探していた答えが得られませんでした。このチュートリアルでは、WordPressが使用する最も重要な衛生機能について説明します。
PDOを使用してフォームデータをカスタムテーブルに保存しています。このデータの多くには、l'this
やのような名前が含まれていますCotélac & Blancé
。
電子メールとURLフィールドを脇に置いた場合、SQLインジェクションとクロスサイトスクリプティングを使用esc_attr
しesc_html
て熱心に使用するだけで十分ですか?
データをDBに保存する前にこれを使用する必要がありますか?それとも、画面に表示する直前ですか?
//From Wordpress
esc_html -> Escaping for HTML blocks
esc_attr -> Encodes the <, >, &, " and '
これは私が使用する典型的なクエリです:
$sql = " SELECT name
FROM name
WHERE user_name = :user_name
AND fk_ID = :some_id ";
$stmt = $this->db->prepare($sql);
$stmt->bindParam(':user_name', $name, PDO::PARAM_STR);
$stmt->bindParam(':some_id', $some_id, PDO::PARAM_STR);
$stmt->execute();
$result = $stmt->fetchAll();
return $result;
// alternative (from another query)
$stmt = $this->db->prepare($sql);
$stmt->execute(array(':id'=> $id));
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $result;