現在、プロジェクトの 1 つで次の行を使用しています。
htmlspecialchars($value,ENT_QUOTES,'UTF-8');
したがって、 &, ', ", <,> をエンコードします。私の質問があります (いくつかの内部コーディングの理由として、私はそれを検討しています) & をエンコードしないことに関連するセキュリティリスクはありますか?したがって、次の行を使用するとセキュリティが生成される場合リスク/リーク:
$value=str_replace('&','&',$value);
<,>,'," については、HTML インジェクションに使用できるため、なぜエンコードする必要があるのか は完全に明らかです。しかし、理由はわかりません(これまでのところ、特別な理由は見つかりませんでした)。
編集:
データベースへのアクセスが数回言及されたように。私はそこにドクトリンをパラメータで使用しています...そのため、データベースは(比較的)SQLインジェクションから節約されるべきです。
上記の変換は、html インジェクションを防ぐためだけに行われましたが、現在、ほとんどのデータが extJS によって作成されたフィールドに配置されているため、... の&
代わりにテキスト フィールドが表示されるため、「&」変換が邪魔になり&
ます。
悲しいことに、アーキテクチャ エラーのため、htmlspecialchars 全体と str_replace の部分を 1 つの場所でしか実行できません (実行したとしても)。そして、私は区別することはできません。したがって、 に関する私の質問もあり&
ます。