php get_magic_quotes_gpc()函数介绍与用法
在查看别人写的一个php项目时,发现了一个很少见的函数 get_magic_quotes_gpc(),本着学习的态度查了一下这个函数的介绍与用法,下面就来详细的说一说!
php get_magic_quotes_gpc 函数介绍
get_magic_quotes_gpc():此函数用于获取 php 环境变数 magic_quotes_gpc 的值,属于 php 系统功能。
语法:
复制
long get_magic_quotes_gpc(void);
返回值:长整数
get_magic_quotes_gpc()函数可以获取 PHP 环境配置的变量 magic_quotes_gpc (GPC, Get/Post/Cookie) 值。返回 0 表示功能关闭;返回 1 表示本功能打开。当 magic_quotes_gpc 打开时,所有的 ' (单引号), " (双引号), (反斜线) and 空字符会自动转为含有反斜线的溢出字符。
在php的配置文件php.ini中,有个布尔值的设置,就是magic_quotes_runtime。当它打开时,php的大部分函数自动的给从外部引入的(包括数据库或者文件)数据中的溢出字符加上反斜线。 当然如果重复给溢出字符加反斜线,那么字符串中就会有多个反斜线,所以这时就要用set_magic_quotes_runtime()与get_magic_quotes_runtime()设置和检测php.ini文件中magic_quotes_runtime状态。
为了使自己的程序不管服务器是什么设置都能正常执行。可以在程序开始用get_magic_quotes_runtime检测该设置的状态决定是否要手工处理,或者在开始(或不需要自动转义的时候)用set_magic_quotes_runtime(0)关掉该设置。
magic_quotes_gpc设置是否自动为GPC(get,post,cookie)传来的数据中的'"\加上反斜线。可以用get_magic_quotes_gpc()检测系统设置。如果没有打开这项设置,可以使用addslashes()函数添加,它的功能就是给数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。
get_magic_quotes_gpc 使用示例
利用 get_magic_quotes_gpc()函数来预防数据库攻击的方法。
复制
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);
相关文章
- 【说站】php数组排序从小到大函数
- 函数Linux下禁用PHP函数的步骤(linux关闭php)
- 如何在Linux上架设PHP? 25字(linux架设php)
- 开启创新之旅Redis与PHP的结合(开启 redis php)
- php分页函数
- 介绍几个array库的新函数php
- 用php过滤危险html代码的函数
- PHP函数语法介绍一
- 一步一步学习PHP(4)php函数补充2
- PHP中simplexml_load_string函数使用说明
- PHP和Mysqlweb应用开发核心技术第1部分Php基础-1开始了解php
- PHP和Mysqlweb应用开发核心技术-第1部分Php基础-2php语言介绍
- PHP-CGI进程CPU100%与file_get_contents函数的关系分析
- php_autoload自动加载类与机制分析
- PHP中的正则表达式函数介绍
- PHP系列学习之日期函数使用介绍
- php中的注释、变量、数组、常量、函数应用介绍
- php中get_headers函数的作用及用法的详细介绍
- php常用Output和ptions/Info函数集介绍
- 探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
- PHP获取和操作配置文件php.ini的几个函数介绍
- PHP字符串长度计算-strlen()函数使用介绍
- php获取汉字首字母的函数
- php创建和删除目录函数介绍和递归删除目录函数分享
- php页面函数设置超时限制的方法
- PHP常用数组函数介绍
- PHP函数eval()介绍和使用示例