こんにちは、XSS と PHP についての質問......
私はPHPアプリケーションを構築していますすべての入力は、クライアントを介してデータベースに送られ、次にサーバー側の検証、filtervarを使用したサニタイズ...データベースに保存された暗号化されたパスワード、scripttagを入力した場合-何でも-それが取得するスクリプトタグそのままデータベースに保存され、そこに害を及ぼすことはありません。
XSS は、入力が直接出力されている場合のみの脅威であり、htmlentities を使用するのは、ユーザーから入力されたデータを出力する時点だけです。
私のアプリはこれを行いませんが、私のプログラミングロジックでは許可されていませんが、攻撃者が悪意のあるコードを挿入して出力させる方法はありますか.
全拠点を網羅したい…………
あなたの答えを楽しみにしています........ はい、私は PDO 準備済みステートメント、bindParam、execute を使用して SQL インジェクションを防ぎ、データベースにデータを安全に保存します。
if(filter_var($_POST['firstname'], FILTER_SANITIZE_STRING)){
$clean['firstname'] = $_POST['firstname'];
};
サニタイズについては、それが改善される可能性があります........
コードを修正したところです。if ステートメントが原因で、フィルター var がスクリプト タグをサニタイズするのを妨げていました。以下を参照してください。
$clean = array();
$clean['firstname'] = (filter_var($_POST['firstname'], FILTER_SANITIZE_STRING));
$clean['lastname'] = (filter_var($_POST['lastname'], FILTER_SANITIZE_STRING));
$clean['username'] = (filter_var($_POST['username'], FILTER_SANITIZE_STRING));
これで、スクリプト タグはデータベースになくなりました........