フォーム送信のセキュリティが十分に行われていない場合、このフォーム送信により Web サイトが簡単に攻撃される可能性があります。以下に、PHP フィルター フォーム送信でよく使用される危険なコードの例を 2 つ紹介します。必要な方は参考にしてください。
例 1、コードは次のとおりです:
function uhtml($str)
{
$farr = array(
"/s+/", //余分な空白をフィルタリングします
は悪意のあるものを導入する可能性がありますインテント 悪意を持って表示レイアウトを変更するコンテンツやコード、フラッシュなどを挿入する必要がない場合は、
"/<(/?)(script|i?frame |スタイル|html|本文|タイトル|リンク|メタ|?|%)([^>]*?)>/isU",
" "/(<[^>]*)on[a -zA-Z]+ s*=([^>]*>)/isU",//JavaScript の on イベントをフィルターします
);
$tarr = array(
" " ",
" "<123> ",// 安全でないタグを直接削除したい場合は、ここを空白のままにできます
"12",
);
$str = preg_replace($farr,$tarr,$str) ;
return $str;
}
例 2、またはこれを実行すると、コードは次のようになります:
//投稿データを取得する
function PostGet($str,$post=0)
{
emptyempty($str)?die('para は null'. $str.'!'):' [$str])?$ _POST
[$str]:'');それ以外の場合は、addslashes(htmlspecialchars($ _ post [$ str])?
$ _post [$ str]: ''));{
if( get_magic_quotes_gpc() )
{
return htmlspecialchars(isset($_GET[$str])?$_GET[$ str]:'') }
else
{
return addlashes(htmlspecialchars(isset($_GET[$str])?
$_GET[$str]:''));
} }//オープンソースコード phpfensi.com }