PHP 一句话过滤 我的网站被入侵了,联系到那个入侵者提供漏洞信息时,他只说了: 一句话过滤不完整,导致可以利用PHP一句话木马连接。这句话是什么意思?不懂。我想弄明白接着去填补漏洞。在某个页面还有这样的字符 <%eval request("pass")%> 。这句是ASP的吧,怎么没有解析出来?我这个网站是PHP的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你网站的表单处理url处理是不是过滤了非法字符和字符串,是否在表单提交的时候做了防注入控制! /* 过滤_GET_POST_COOKIE_SESSION_FILES过来变量------------------------------------------------------------- */ foreach ($_GET as $get_key=>$get_var) { if (is_numeric($get_var)) { $get[strtolower($get_key)] = get_int($get_var); }else{ $get[strtolower($get_key)] = get_str($get_var); } } /* 过滤所有POST过来的变量 */ foreach ($_POST as $post_key=>$post_var) { if (is_numeric($post_var)) { $post[strtolower($post_key)] = get_int($post_var); } else { $post[strtolower($post_key)] = get_str($post_var); } } foreach ($_POST as $post_key=>$post_var) { if (is_numeric($post_var)) { $post[strtolower($post_key)] = get_int($post_var); } else { $post[strtolower($post_key)] = get_str($post_var); } } /* 过滤函数 */ //整型过滤函数 function get_int($number) { return intval($number); } //字符串型过滤函数 function get_str($string) { if (!get_magic_quotes_gpc()) { return addslashes($string); } return $string; } 还有 ,所有insert update select 数据部分都用'{$var}' 而不用 .$var.形式 把eval 屏蔽,是输入域都过滤关键字或者转义替换 谢谢大家的回答,过了这么久忘了结贴。对于字符过滤,在PHP.ini里有个设置,magic_quotes_gpc 、magic_quotes_runtime 将这两个设置好。具体请Google。当然如果是用空间的话,先用magic_quotes_gpc()或magic_quotes_runtime函数检查服务商以上函数的设置,以免斜杠前再被添加斜杠,导致出错。 如何把内容里的 IMG提出出来处理好再存入变量里 求一个保存远程文件的方法(难) 怎么获取文本域textarea的高度和宽度? apache安装时出现找不到系统文件的错误,no installed service named Apache 如何在页面中显示树形结构? php发送SSL邮件有可能吗?解决了再加分。 请教好的php学习和提高的方法,请高手介绍一下 急 php版的ewebeditor在哪里可以下呀? 在线等待!关于怎样读取记录的问题 如何实现下拉滚动条,谢谢! fgetcsv函数上传文件 写入数据时存在的问题 PHP中使用zend studio 怎么配置环境
foreach ($_GET as $get_key=>$get_var)
{
if (is_numeric($get_var)) {
$get[strtolower($get_key)] = get_int($get_var);
}else{
$get[strtolower($get_key)] = get_str($get_var);
}
}
/* 过滤所有POST过来的变量 */
foreach ($_POST as $post_key=>$post_var)
{
if (is_numeric($post_var)) {
$post[strtolower($post_key)] = get_int($post_var);
} else {
$post[strtolower($post_key)] = get_str($post_var);
}
}
foreach ($_POST as $post_key=>$post_var)
{
if (is_numeric($post_var)) {
$post[strtolower($post_key)] = get_int($post_var);
} else {
$post[strtolower($post_key)] = get_str($post_var);
}
}
/* 过滤函数 */
//整型过滤函数
function get_int($number)
{
return intval($number);
}
//字符串型过滤函数
function get_str($string)
{
if (!get_magic_quotes_gpc()) {
return addslashes($string);
}
return $string;
}
当然如果是用空间的话,先用magic_quotes_gpc()或magic_quotes_runtime函数检查服务商以上函数的设置,以免斜杠前再被添加斜杠,导致出错。