get_magic_quotes_gpc()在PHP函数描述
的get_magic_quotes_gpc函数来决定是否增加对用户所提供的数据的削减。这是在php.ini配置文件。哦,让我介绍get_magic_quotes_gpc()函数描述如下。对get_magic_quotes_gpc功能介绍
得到的magic_quotes_gpc PHP环境变量的值,属于PHP系统的功能。
语法:长get_magic_quotes_gpc(void);
返回值:长整数
这个函数获取的变量的值magic_quotes_gpc(GPC,得到 /后/饼干)的PHP环境配置。返回0表示关闭此功能;返回1表示该功能是打开的。
当magic_quotes_gpc打开,所有的'(单引号),(双引号),和(反斜杠)和空字符自动转换为包含反斜杠字符的溢出。
magic_quotes_gpc设置是否自动添加反斜杠来传输数据(GPC,后,饼干),get_magic_quotes_gpc()检测系统的建立。
如果你不打开这个设置,您可以使用addslashes()函数来添加。它的功能是查询数据库,等它之前需要添加一个反斜杠字符。
这些字符是单引号(')、双引号(),反斜杠()和空(null字符)。
默认情况下,PHP指令magic_quotes_gpc是自动运行,addslashes()所有,后,和cookie数据。
不要用addslashes(),已通过magic_quotes_gpc字符串,因为这导致双层逃脱。在这种情况下,一个功能get_magic_quotes_gpc()可以用来检测。
例子
使用get_magic_quotes_gpc正确的做法()防止数据库攻击
代码如下
< PHP
功能check_input(价值)
{
删除/斜杠
如果(get_magic_quotes_gpc())
{
价值= stripslashes(价值);
}
如果不是引号的数目,则为
如果(!is_numeric(美元值))
{
值=。mysql_real_escape_string(价值)。
}
返回值;
}
对美元mysql_connect(localhost,你好,321);
如果(!$ CON)
{
死(不连接:'。mysql_error());
}
安全
用户名= check_input($ _post {用户});
$ pwd = check_input($ _post { 'pwd});
从用户那里选择
用户=用户和密码= $ pwd美元;
mysql_query($ SQL);
mysql_close($ CON);
>
摘要如下:
1。为magic_quotes_gpc =案例,
我们不能做输入和输出数据库的字符串数据。
Addslashes()和stripslashes()操作,数据也将正常显示。
如果你做addslashes()的输入数据,此时处理,
然后你必须使用stripslashes()删除输出多余的反斜杠。
2。为magic_quotes_gpc =关闭情况
输入的数据必须进行addslashes(),但它不需要使用stripslashes()格式化输出
因为addslashes()不写反斜线进入数据库,它不仅有助于MySQL执行SQL语句的执行
以上是本文的全部内容,希望本文的内容能给大家的学习或工作带来一定的帮助,同时也希望能给予更多的支持!