❶ PHP $_GET方法传过来参数过滤问题求高手指导一二!!
php有个防止sql注入的函数addslashes(),这样就会把你搜索框里传过来的单引号双引号转义掉,还有要防止跨站脚本攻击xxs,用函数htmlspecialchars (),详细可看php手册
❷ PHP怎么过滤GET或者POST的参数怎么样才能保证代码不被注入
//本人在抄 TP 框架中的过滤函数。// Input 类是 TP 供给的。function inputFilter($content){ if(is_string($content) ) { return Input::getVar($content); } elseif(is_array($content)){ foreach ( $content as $key => $val ) { $content[$key] = inputFilter($val); } return $content; } elseif(is_object($content)) { $vars = get_object_vars($content); foreach($vars as $key=>$val) { $content->$key = inputFilter($val); } return $content; } else{ return $content; }}
❸ php 纯数字url参数安全过滤代码
标准答案我就不知道了,只是我个人的理解大概是这个方面要注意:
1 [POST/GET]页面参数传值/字符串输入/数据入库等类似动作都要做好严格的危险字符过滤处理.
2 相关PHP的I/O操作,需要注意限制权限,文件名或目录名或内容都要做好过滤处理.
3 敏感信息(如PASSWORD/银行帐号等)不要依赖COOKIE,SESSION,最好读表,并尽量缓存读表数据.
4 注意对网站根目录及下面所有子目录及文件的权限控制与保护,不要让配置文件/系统信息等文件暴露.
5 要完全屏掉所有出错提示,或者能捕获所有出错并重新定制输出,以防报错信息泄露你的网站及相关文件路径,MYSQL字段/网站环境等.
6 所有对库表的写入与读取操作都需要做好访问来路限制/同IP同内容读写间隔限制/并验证POST与GET的指定标识KEY的有效性等这些安全动作.
7 有类似文件下载/或文本流下载等功能的,尽量不要在URL里面直接调用目标文件地址的方式来做,最好是传ID或是指定的NAME标识.
8 MYSQL 的用户最好分开,不要用ROOT用户来连接MYSQL,另建专用用户,并限制死此用户的权限,只能操作指定的库,最好去掉此用户的命令行导入导出的权限等这些危险的权限.
❹ php正则过滤网址中一个参数,请教高手怎么怎么写
什么样的参数?
正则要针对具体问题来写,你这样提问没人回答得了
❺ php正则过滤
应该这么写
<?php
$str='abc.jpg?w=100';
preg_replace('#^(.*?.jpg).*#','$1',$str);
❻ 请问PHP怎么过滤GET或者POST的参数防止js注入,或者一些html注入请请提供代码参考谢谢!
string mysql_real_escape_string ( string unescaped_string [, resource link_identifier])
本函数将来 unescaped_string 中的特殊字符自转义,并计及连接的当前字符集,因此可以安全用于 mysql_query()。
注: mysql_real_escape_string() 并不转义 % 和 _。
例子 1. mysql_real_escape_string() 例子
<?php
$item = "Zak's and Derick's Laptop";
$escaped_item = mysql_real_escape_string($item);
printf ("Escaped string: %s\n", $escaped_item);
?>
以上例子将产生如下输出:
Escaped string: Zak\'s and Derick\'s Laptop
❼ php正则过滤抽取table中的数据
elseif($paytypes=="Alipay"){
$url="alipay_".$paytypes."/alipayto.php?proct=".$procts."&total_fee=".$total_fee."&body=".$names."&out_trade_no=".$out_trade_nos;
Header("Location:$url");
exit;
}
❽ php为什么要过滤参数
主要是防止sql注入
举例来说
如果$_GET['pwd']是你接受的参数
那么你不处理的话
如何我$_GET['pwd']里面是"'or'1";你的sql就无效了或者写删表语句"';drop····"
mysql_query("select*from表名wherepwd='$_GET[pwd]'");
还有就是数据本身可能不合法 如何 要int 你给的是string
❾ PHP正则过滤链接地址中的字符
preg_replace('/(<a\b[^>]*)_bmiddle/','$1',$str);