重複の可能性:
究極のクリーン/セキュア機能
PHP のセキュリティについて読んだ後、私がコーディングしたものは常に安全ではないと感じています。そのため、ユーザー入力のセキュリティ問題に対処するために、あらゆる使用状況でユーザー入力をエスケープおよび削除できる関数を作成しました。
これが実際に安全かどうか、さらに安全にできるかどうかを知りたいだけです。また、これはどのような種類の攻撃を防ぎますか? _GET を使用して XSS に伝えることができることから、HTML 入力と MYSQL インジェクションは防止されたでしょうか?
function _INPUT($name,$tag,$sql,$url)
{
if ($_SERVER['REQUEST_METHOD'] == 'GET')
$filter = ($_GET[$name]);//Assign GET to filter variable
if ($tag == true)//Remove all HTML, PHP and JAVASCRIPT tags
{
$filter = strip_tags($filter);
}
if ($sql == true)//If MYSQL escaping is enabled
{
$filter = mysql_real_escape_string($filter);
}
if ($url == true)//If URL encoding is enabled
{
$filter = urlencode($filter);
}
return $filter;
}
$output = _INPUT('name',true,true,true);
インジェクションを防ぐ方法を完全に理解するには、さらに詳しく読む必要がありますが、MYSQL にもプリペアド ステートメントを使用します。
お時間をいただきありがとうございます。