PHP5,6,7版本中如何使用magic_quotes_gpc转义数据保证安全
更新:2020-05-03 08:40:45
人气:3105
来源:本站原创
A+
在PHP5版本有这样一个函数,magic_quotes_gpc函数,作用是在php中的判断解析用户提示的数据,如包括有:post、get、cookie过来的数据增加转义字符“\”,以保证这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。
可是在PHP6和PHP7中已经取消了这个函数,这时候我们需要自己定义一个函数来保证数据是否需要转义。
function quotes_gpc_pd($gpc_value,$gpc_pd){ //转义字符 注意:checkbox[]数组时不能用这个,要不implode出错 if (!get_magic_quotes_gpc()) {//判断一下是否支持magic_quotes_gpc,如果不支持就利用addslashes转义。 $gpc_value = addslashes($gpc_value); // delete backslash(\) } if ($gpc_pd=='1') { $gpc_value=htmlspecialchars($gpc_value,ENT_COMPAT,'ISO-8859-1'); } return $gpc_value; }
实际在POST接收数据时,可以这样写:
$password=quotes_gpc_pd($_POST['password'],1);
其中的参数1表示需要htmlspecialchars转换。如果标记为0表示不用转换,这主要是为了比如在文章发布的时候有用到像百度编辑器Ueditor这种可以自行转换为html实体的插件,就没有必要再执行一次了,否则数据就错乱了。
推荐的文章
随手记
- ● 华视CVR100系统身份证读卡器web驱动安装不识别解决办法
- ● web应用采用webcam实现拍照上传的PHP示例及参数说明
- ● PHP实现直播推流功能
- ● win10开机后屏幕黑屏只有鼠标但能启动任务管理器
- ● base64.js文件下载及使用方法说明
- ● windows利用bat微信双开、多开
- ● 百度API提交推送报{"error":401,"message":"tokenisnotvalid"}什么原因
- ● 如果在调用创建群接口时没有保存OpenConversationId,可以通过调用本接口通过chatId获取OpenConversationId
- ● Windows中使用BAT文件设置指定IP地址或自动获取IP
- ● php中如何对PHPSESSIDcookie设置httponly
PHP经验分享
- ● 如何开启PHP8的JIT提升运行速度
- ● 钉钉API接口-用PHP+Curl实现获取用户信息
- ● 钉钉API接口-用PHP+Curl实现获取应用Access_Token
- ● 在PHP中使用CURL,“撩”服务器只需几行——phpcurl详细解析和常见大坑
- ● MySQLInnodb并发涉及参数说明
- ● mysql参数调优之innodb_thread_concurrency、innodb_concurrency_tickets合理的使用cpu性能
- ● PHP用fsockopen检测指定IP端口是否开启可用
- ● PHP用socket检测服务器IP端口是否开放?代码示例
- ● GatewayWorker报错:Waring:Events::onMessageisnotcallable
- ● PHP监控指定IP端口接收到的数据的实现代码