私の提案は、すべてのテキスト入力をサニタイズする関数と、データベースまたはその他のソースからのすべての出力をチェックする関数を作成することです。たとえば、次のようになります。
<?php
// filter for user input
function filterInput($content)
{
$content = trim($content);
$content = stripslashes($content);
return $content;
}
//filter for viewing data
function filterOutput($content)
{
$content = htmlentities($content, ENT_NOQUOTES);
$content = nl2br($content, false);
return $content;
}
戦略に応じて、フィルターに機能を追加したり、一部を削除したりする場合があります。しかし、ここにある機能は、XSSから保護するのに十分です。
編集: 上記の機能に加えて、
さまざまな方法への参照:
- トリム: http://php.net/manual/en/function Trim.php
- stripslashes: http://php.net/manual/en/function stripslashes.php
- htmlentities: http://php.net/manual/en/function htmlentities.php
- nl2br: http://php.net/manual/en/function nl2br.php
次のリンクを確認することもお勧めします:
そして重要なことに、トップ10のリスクを認識し、それについてさらに学ぶことは良いことです。