get_magic_quotes_gpc函数是一个用来判断是否为用户提供的数据增加斜线了,这个在php.ini配置文件中哦,下面我来介绍一下get_magic_quotes_gpc()函数说明.

get_magic_quotes_gpc函数介绍
取得 PHP 环境变数 magic_quotes_gpc 的值,属于 PHP 系统功能。
语法: long get_magic_quotes_gpc(void);
返回值: 长整数
本函数取得 PHP 环境配置的变量 magic_quotes_gpc (GPC, Get/Post/Cookie) 值。返回 0 表示关闭本功能;返回 1 表示本功能打开。
当 magic_quotes_gpc 打开时,所有的 ‘ (单引号), ” (双引号), (反斜线) and 空字符会自动转为含有反斜线的溢出字符。
magic_quotes_gpc设置是否自动为GPC(get,post,cookie)传来的数据中的'”加上反斜线。可以用get_magic_quotes_gpc()检测系统设置。
如果没有打开这项设置,可以使用addslashes()函数添加,它的功能就是给数据库查询语句等的需要在某些字符前加上了反斜线。
这些字符是单引号(')、双引号(”)、反斜线()与 NUL(NULL 字符)。
默认情况下,PHP 指令 magic_quotes_gpc 为 on,它主要是对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。
不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。
例
利用 get_magic_quotes_gpc()预防数据库攻击的正确做法
代码如下
<?php
function check_input($value)
{
// 去除斜杠
if (get_magic_quotes_gpc())
{
$value = stripslashes($value);
}
// 如果不是数字则加引号
if (!is_numeric($value))
{
$value = “‘” . mysql_real_escape_string($value) . “‘”;
}
return $value;
}
$con = mysql_connect(“localhost”, “hello”, “321″);
if (!$con)
{
die(‘Could not connect: ‘ . mysql_error());
}
// 进行安全的 SQL
$user = check_input($_POST['user']);
$pwd = check_input($_POST['pwd']);
$sql = “SELECT * FROM users WHERE
user=$user AND password=$pwd”;
mysql_query($sql);
mysql_close($con);
?>
总结如下:
1. 对于magic_quotes_gpc=on的情况,
我们可以不对输入和输出数据库的字符串数据作
addslashes()和stripslashes()的操作,数据也会正常显示。
如果此时你对输入的数据作了addslashes()处理,
那么在输出的时候就必须使用stripslashes()去掉多余的反斜杠。
2. 对于magic_quotes_gpc=off 的情况
必须使用addslashes()对输入数据进行处理,但并不需要使用stripslashes()格式化输出
因为addslashes()并未将反斜杠一起写入数据库,只是帮助mysql完成了sql语句的执行
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# php
# magic
# quotes
# gpc
# 函数说明
# 使用mysqldump如何实现数据库表备份
# PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
# PHP访问MYSQL数据库封装类(附函数说明)
# php 数组操作(增加
# 删除
# 查询
# 排序)等函数说明
# php中magic_quotes_gpc对unserialize的影响分析
# 基于PHP magic_quotes_gpc的使用方法详解
# PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
# php magic_quotes_gpc的一点认识与分析
# PHP 字符串正则替换函数preg_replace使用说明
# php array_map()数组函数使用说明
# PHP中simplexml_load_string函数使用说明
# 可以使用
# 是一个
# 单引号
# 双引号
# 也会
# 上了
# 我来
# 可以用
# 我们可以
# 作了
# 如果没有
# 你对
# 这种情况
# 如果不是
# 要对
# 用户提供
# 介绍一下
# 配置文件
# 系统设置
# 正常显示
相关文章:
如何登录建站主机?访问步骤全解析
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
如何快速生成高效建站系统源代码?
建站之星如何实现PC+手机+微信网站五合一建站?
建设网站制作价格,怎样建立自己的公司网站?
,想在网上投简历,哪几个网站比较好?
如何高效搭建专业期货交易平台网站?
如何生成腾讯云建站专用兑换码?
如何通过可视化优化提升建站效果?
如何快速查询网站的真实建站时间?
Java解压缩zip - 解压缩多个文件或文件夹实例
宝塔建站后网页无法访问如何解决?
如何选择美橙互联多站合一建站方案?
网站企业制作流程,用什么语言做企业网站比较好?
阿里云网站制作公司,阿里云快速搭建网站好用吗?
移民网站制作流程,怎么看加拿大移民官网?
建站主机如何安装配置?新手必看操作指南
建站之星备案流程有哪些注意事项?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
如何用美橙互联一键搭建多站合一网站?
建站之星3.0如何解决常见操作问题?
如何选择网络建站服务器?高效建站必看指南
javascript中的try catch异常捕获机制用法分析
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
建站之星与建站宝盒如何选择最佳方案?
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
seo网站制作优化,网站SEO优化步骤有哪些?
寿县云建站:智能SEO优化与多行业模板快速上线指南
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
官网网站制作腾讯审核要多久,联想路由器newifi官网
如何通过虚拟机搭建网站?详细步骤解析
制作宣传网站的软件,小红书可以宣传网站吗?
在线制作视频的网站有哪些,电脑如何制作视频短片?
建站之星官网登录失败?如何快速解决?
如何在阿里云虚拟主机上快速搭建个人网站?
如何高效配置香港服务器实现快速建站?
网站制作报价单模板图片,小松挖机官方网站报价?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
建站之星微信建站一键生成小程序+多端营销系统
如何在香港免费服务器上快速搭建网站?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
建站之星图片链接生成指南:自助建站与智能设计教程
建站主机服务器选型指南与性能优化方案解析
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
Swift中swift中的switch 语句
建站之星后台管理:高效配置与模板优化提升用户体验
专业公司网站制作公司,用什么语言做企业网站比较好?
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
*请认真填写需求信息,我们会在24小时内与您取得联系。