导航:首页 > 净水问答 > 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参数过滤器相关的资料

热点内容
鉴别溶液碳酸钠溶液蒸馏水 浏览:161
污水工程质量计划 浏览:927
哪些净水机用的陶氏ro膜 浏览:569
施尔净水器和史密斯净水器哪个好 浏览:279
惠普康净水机怎么样使用 浏览:989
一汽解放虎vh柴油滤芯怎么排空气 浏览:629
离子交换色谱法等度梯度洗脱 浏览:935
蒸馏水敷面膜怎么用 浏览:55
华为空气净化器怎么拆开 浏览:440
酚酞蒸馏水实验视频 浏览:137
电离子去疤疼吗 浏览:485
无锡污水处理设备有限公司 浏览:804
池塘废水特征 浏览:536
焊烟用什么净化器 浏览:773
防城港市港口区污水处理厂 浏览:889
宏伟区污水处理厂工艺 浏览:115
污水管被冻住怎么半 浏览:402
聚氨酯类树脂涂料特点有哪些 浏览:60
过滤器椰壳活性炭标准 浏览:546
醛酮树脂生产过程毒气大吗 浏览:990