我試過下面的代碼,但它似乎JavaScript運行在HTTP請求被髮送到服務器之前。我該如何防止JavaScript在這種情況下使用PHP(http://my_host_here.com/publications.php/「><script> alert(1)</script>)?
感謝
<?php
class secure
{
function secureSuperGlobalGET(&$value, $key)
{
$_GET[$key] = htmlspecialchars(stripslashes($_GET[$key]));
$_GET[$key] = str_ireplace("script", "blocked", $_GET[$key]);
$_GET[$key] = mysql_escape_string($_GET[$key]);
return $_GET[$key];
}
function secureSuperGlobalPOST(&$value, $key)
{
$_POST[$key] = htmlspecialchars(stripslashes($_POST[$key]));
$_POST[$key] = str_ireplace("script", "blocked", $_POST[$key]);
$_POST[$key] = mysql_escape_string($_POST[$key]);
return $_POST[$key];
}
function secureGlobals()
{
echo "in here";
array_walk($_GET, array($this, 'secureSuperGlobalGET'));
array_walk($_POST, array($this, 'secureSuperGlobalPOST'));
}
}
?>
不知道你想在這裏做什麼。你只是把那些可憐的字符串弄得無法識別:)總是爲了手頭的任務而逃跑*只*。你能否在什麼情況下澄清你想要阻止的事情? – 2013-02-26 00:41:16
請參閱[最終清潔/安全功能](http://stackoverflow.com/q/4223980) – 2013-02-26 00:42:06
您以後如何使用這些值?您是將它們存儲在數據庫中還是將它們打印到用戶? – 2013-02-26 00:42:48