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函数使用说明
# 可以使用
# 是一个
# 单引号
# 双引号
# 也会
# 上了
# 我来
# 可以用
# 我们可以
# 作了
# 如果没有
# 你对
# 这种情况
# 如果不是
# 要对
# 用户提供
# 介绍一下
# 配置文件
# 系统设置
# 正常显示
相关文章:
如何有效防御Web建站篡改攻击?
如何在西部数码注册域名并快速搭建网站?
学校建站服务器如何选型才能满足性能需求?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
建站之星图片链接生成指南:自助建站与智能设计教程
建站之星如何快速解决建站难题?
如何快速完成中国万网建站详细流程?
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
视频网站制作教程,怎么样制作优酷网的小视频?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
教学论文网站制作软件有哪些,写论文用什么软件
?
如何通过VPS建站无需域名直接访问?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
常州自助建站工具推荐:低成本搭建与模板选择技巧
如何在Golang中使用replace替换模块_指定本地或远程路径
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
如何通过主机屋免费建站教程十分钟搭建网站?
建站之星代理费用多少?最新价格详情介绍
建站之星3.0如何解决常见操作问题?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
如何通过.red域名打造高辨识度品牌网站?
建站之星安装后如何自定义网站颜色与字体?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
c# 服务器GC和工作站GC的区别和设置
PHP正则匹配日期和时间(时间戳转换)的实例代码
官网建站费用明细查询_企业建站套餐价格及收费标准指南
如何通过西部数码建站助手快速创建专业网站?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
山东网站制作公司有哪些,山东大源集团官网?
文字头像制作网站推荐软件,醒图能自动配文字吗?
如何配置WinSCP新建站点的密钥验证步骤?
如何在宝塔面板中创建新站点?
高端企业智能建站程序:SEO优化与响应式模板定制开发
油猴 教程,油猴搜脚本为什么会网页无法显示?
平台云上自助建站如何快速打造专业网站?
Android自定义控件实现温度旋转按钮效果
西安大型网站制作公司,西安招聘网站最好的是哪个?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
如何高效搭建专业期货交易平台网站?
如何获取免费开源的自助建站系统源码?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
香港服务器网站卡顿?如何解决网络延迟与负载问题?
如何通过网站建站时间优化SEO与用户体验?
如何高效利用200m空间完成建站?
如何选择高效可靠的多用户建站源码资源?
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
如何通过FTP空间快速搭建安全高效网站?
在线制作视频的网站有哪些,电脑如何制作视频短片?
深入理解Android中的xmlns:tools属性
*请认真填写需求信息,我们会在24小时内与您取得联系。