当前位置:首页 » 净水方式 » php过滤post数据

php过滤post数据

发布时间: 2021-02-14 00:08:16

❶ 请问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版本是5.5,使用mysql_real_escape_string()对post的数据过滤,读取出的数据都带上了反斜杠,如何去掉

开启php配置项:magic_quotes_sybase = ON

❸ php获取post参数的几种方式

方法1、最常见的方法是:$_POST['fieldname'];
说明:只能接收Content-Type: application/x-www-form-urlencoded提交的数据
解释:也就是表单POST过来的数据

方法2、file_get_contents(“php://input”);
说明:
允许读取 POST 的原始数据。
和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。
php://input 不能用于 enctype=”multipart/form-data”。
解释:
对于未指定 Content-Type 的POST数据,则可以使用file_get_contents(“php://input”);来获取原始数据。
事实上,用PHP接收POST的任何数据都可以使用本方法。而不用考虑Content-Type,包括二进制文件流也可以。
所以用方法二是最保险的方法。

方法3、$GLOBALS['HTTP_RAW_POST_DATA'];
说明:
总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。
此变量仅在碰到未识别 MIME 类型的数据时产生。
$HTTP_RAW_POST_DATA 对于 enctype=”multipart/form-data” 表单数据不可用
如果post过来的数据不是PHP能够识别的,可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,
比如 text/xml 或者 soap 等等
解释:
$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST过来的原始数据。
$_POST或$_REQUEST存放的是 PHP以key=>value的形式格式化以后的数据。
但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST过来的数据取决于centent-Type的设置,即POST数据时 必须显式示指明Content-Type: application/x-www-form-urlencoded,POST的数据才会存放到 $GLOBALS['HTTP_RAW_POST_DATA']中。

❹ php中,通过$_GET 和 $_POST 取得的数据 安不安全 需要什么过滤函数处理吗

引号过滤有magic_quotes_gpc(服务器配置)

函数addslashes() htmlspecialchars(,ENT_QUOTE);

注意服务器上是否已经开启magic_quotes_gpc
(php>=5.3 已经废弃了它) 如果已经开启,再进行转义会导致双层转义。 另外addslashes() addcslashes() 都不能对数组进行处理,需要写一个递归实现。
你可以使用函数get_magic_quotes_gpc()来检测它是否已经开启

不建议使用addslashes使用addslashes可能会因为数据库编码的问题使得单引号未被转义了解详情可访问: http://shiflett.org/blog/2006/jan/addslashes-versus-mysql-real-escape-string

❺ 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 $_POST 过滤非法信息的主法;

PHP函数特殊符号加 '\' 前缀
string addslashes ( string $str )

❼ php清理_post中内容

貌似当你提交的时候,POST全局数组的内容就是当前的表单项,除非自己弄了个特殊机制(比如保回存上次提交的内容答),一般是不会将上次的记录提交过来的。

数据下标会变,不知道具体是什么情况,但通常来说,POST数组同名的数据会自动覆盖(因此,同一表单提交后,内容都是最新的内容)。

❽ php自定义一个函数用来过滤表单的。。比如说filter($_POST);调用filter函数的时

|function filter($array){
foreach($array as $k=>$v){
$array[$k]=htmlspecialchars(strip_tags($v));
$array[$k]=eregi('select|容insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile',$array[$k];
}
}

❾ PHP 如果不对 POST 或者 GET 请求做过滤处理就会被注入吗

有被注入的风险,要做尽可能多的过滤,才能保证注入风险降到最低。前台提交之前要过滤,后台处理时要过滤,插入数据库之前也要进行过滤。

❿ php安全问题,请问$_post的东西怎么过滤 - 技术问答

[php]function daddslashes($string, $force = 0) {? ? !defined(\'MAGIC_QUOTES_GPC\') && define(\'MAGIC_QUOTES_GPC\', get_magic_quotes_gpc());? ? if(!MAGIC_QUOTES_GPC || $force) {? ?? ???if(is_array($string)) {? ?? ?? ?? ?foreach($string as $key => $val) {? ?? ?? ?? ?? ? $string[$key] = daddslashes($val, $force);? ?? ?? ?? ?}? ?? ???} else {? ?? ?? ?? ?$string = addslashes($string);? ?? ???}? ? }? ? return $string;}[/php]

热点内容
丁度巴拉斯情人电影推荐 发布:2024-08-19 09:13:07 浏览:886
类似深水的露点电影 发布:2024-08-19 09:10:12 浏览:80
《消失的眼角膜》2电影 发布:2024-08-19 08:34:43 浏览:878
私人影院什么电影好看 发布:2024-08-19 08:33:32 浏览:593
干 B 发布:2024-08-19 08:30:21 浏览:910
夜晚看片网站 发布:2024-08-19 08:20:59 浏览:440
台湾男同电影《越界》 发布:2024-08-19 08:04:35 浏览:290
看电影选座位追女孩 发布:2024-08-19 07:54:42 浏览:975
日本a级爱情 发布:2024-08-19 07:30:38 浏览:832
生活中的玛丽类似电影 发布:2024-08-19 07:26:46 浏览:239