导航:首页 > 净水问答 > phpurl参数过滤器

phpurl参数过滤器

发布时间:2023-01-07 13:10:02

1. 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; }}

2. php获取url参数

1、在当前网页echo出变量$_SERVER['HTTP_HOST']即可获取域名或主机地址。

3. php url 参数会重复,怎么处理重复url参数,谢谢

重复是你自己加的<a href="<?=$url?>&id=6">菜单1</a>

这样写吧你

<?php$get=array_unique($_GET);
//$get['newparam']='new_value';
isset($get['id'])&&unset($get['id']);
$query=http_build_query($get);
$url="?".$query;
echo$url;
?>
<div>
<ahref="<?=$url?>&id=6">菜单1</a>
<ahref="<?=$url?>&id=7">菜单2</a>
<ahref="<?=$url?>&id=8">菜单3</a>
</div>

或者

<?php$get=array_unique($_GET);
//$get['newparam']='new_value';
?>
<div>
<ahref="?<?phpechohttp_build_query(array_merge($get,array('id'=>6)));?>">菜单1</a>
<ahref="?<?phpechohttp_build_query(array_merge($get,array('id'=>7)));?>">菜单2</a>
<ahref="?<?phpechohttp_build_query(array_merge($get,array('id'=>8)));?>">菜单3</a>
</div>

4. 请问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

5. php中数据过滤的问题

我来解释一下吧
preg_replace('/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F]/','',$string);

去掉控制字符,你google一下ascii table就知道了,php里面 - 代表范围,比如\x00-\x08指的是ASCII代码在\x00到\x08范围的字符,\x0A和\x0D代表回车换行,所以没包含在这个里面,否则直接\x00-\x1F了,

$string = str_replace(array("\0","%00","\r"),'',$string);
\0表示ASCII 0x00的字符,通常作为字符串结束标志

$string = preg_replace("/&(?!(#[0-9]+|[a-z]+);)/si",'&',$string);

我们知道HTML里面可以用&#xxx;来对一些字符进行编码,比如 (空格), ߷ Unicode字符等,A(?!B) 表示的是A后面不是B,所以作者想保留 ߷类似的 HTML编码字符,去掉其他的问题字符,比如 &123; &#nbsp;

str_replace(array("%3C",'<'),'<',$string);

第一个'<'多余吧,%3C是编码以后的 <, 一般用在URL编码里

str_replace(array("%3E",'>'),'>',$string);

str_replace(array('"',"'","\t",' '),array('"',"'",'',''),$string);

略过

有问题再追问

6. php 怎么过滤后url后面的缀名

$_GET['id']='sdfsf.5.jpg';
$new_str= strrev($str);
$new_str1=substr($new_str,strpos($new_str, ".")+1);
echo strrev($new_str1)

7. php如何向JavaWeb一样定义过滤器

8. 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,另建专用用户,并限制死此用户的权限,只能操作指定的库,最好去掉此用户的命令行导入导出的权限等这些危险的权限.

阅读全文

与phpurl参数过滤器相关的资料

热点内容
净水器3次过滤碳棒在哪里好 浏览:447
厨房油污水怎么排放 浏览:863
上海电镀液滤芯哪里有 浏览:148
东方红me500机油滤芯怎么换 浏览:577
武威污水什么时候可以排放 浏览:969
印染污水pva废冰怎么处理好 浏览:100
什么叫有情饮水机 浏览:130
污水池怎么接液位浮球 浏览:653
橡胶制品企业废水 浏览:956
小米空气净化器怎么看是否换过 浏览:904
水泵吸水过滤器 浏览:422
什么自来水要收商铺污水费 浏览:43
欧迈龙净水器是哪里产的 浏览:373
飞利浦空气净化器怎么开关 浏览:772
共混改性脲醛树脂 浏览:596
废旧机油滤芯怎么处理 浏览:575
空气滤芯分为什么 浏览:515
陶瓷过滤器怎么换滤芯 浏览:885
清理饮水机用什么消毒 浏览:471
机油滤芯没密封圈会怎么样 浏览:802