[雑感][PHP] やってはいけないが調査してみたいこと

PHPを使ったフォームで果たしてどれだけのサイトが

<script language="JavaScript" type="text/javascript"> window.location.href = "http://www.google.com/"; </script>

という風に入力された場合の対処ができているかww 

ふむw やってはみたいものだけれども自重すべきポイントでもあるw

まぁ要するにPHPだと

<?php
if (isset($_POST['name']))
{
echo "Hello, " . $_POST['name'];
}
else
{
echo '<form action="' . $PHPSELF . '" method="post"><br>';
echo 'Your name, please: <input type="text" name="name"><br>';
echo '<input type="submit" value="Submit">';
echo "</form>";
}
?>

という感じのコードは危険なので、以下のようなコードにするべきって事なんだけどね..

<?php
if (isset($_POST['name']))
{
echo "Hello, " . htmlspecialchars($_POST['name']);
}
else
{
echo "<form action="' . $PHPSELF . '" method="post"><br>";
echo "Your name, please: <input type="text" name="name"><br>";
echo "<input type="submit" value="Submit">";
echo "</form>";
}
?>

ちなみにPHPに関するexploitの90%以上の攻撃は$_GET, $_POST周りをターゲットにしているようです。要はセキュリティ的に問題のあるサイトが多すぎるってことですね.


参考サイト:はっく でぃす さいと