【发布时间】:2013-02-11 07:47:59
【问题描述】:
我已经尝试了下面的代码,但似乎在将 http 请求发送到服务器之前运行了 javascript。
谢谢
<?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'));
}
}
?>
【问题讨论】:
-
不确定您要在这里做什么。你只是把那些可怜的字符串弄得面目全非 :) 总是为了手头的任务而逃避only。你能澄清一下你在什么情况下试图阻止什么吗?
-
你之后如何使用这些值?您是将它们存储在数据库中还是将它们打印给用户?
-
如果在请求发送到服务器之前发生了一些事情,你需要发布 HTML/Javascript 代码。
标签: php javascript sql-injection