get_magic_quotes_gpc函数

function html($str)

{

$str = get_magic_quotes_gpc()?$str:addslashes($str);

return $str;

}

----------------

get_magic_quotes_gpc

取得 PHP 环境变数 magic_quotes_gpc 的值。

语法: long get_magic_quotes_gpc(void);

传回值: 长整数

函式种类: PHP 系统功能

内容说明

本函式取得 PHP 环境设定的变数 magic_quotes_gpc (GPC, Get/Post/Cookie) 值。传回 0 表示关闭本功能;传回 1 表示本功能开启。当 magic_quotes_gpc 开启时,所有的 ' (单引号), " (双引号), \ (反斜线) and 空字符会自动转为含有反斜线的溢出字符。

-----------------------

addslashes -- 使用反斜线引用字符串

描述

string addslashes ( string str)

返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。

一个使用 addslashes() 的例子是当你要往数据库中输入数据时。例如,将名字 O'reilly 插入到数据库中,这就需要对其进行转义。大多数据库使用 \ 作为转义符:O\'reilly。这样可以将数据放入数据库中,而不会插入额外的 \。当 PHP 指令 magic_quotes_sybase 被设置成 on 时,意味着插入 ' 时将使用 ' 进行转义。

默认情况下,PHP 指令 magic_quotes_gpc 为 on,它主要是对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

例子 1. addslashes() 示例

$str = "Is your name O'reilly?";

// 输出:Is your name O\'reilly?

echo addslashes($str);

?>

get_magic_quotes_gpc()

本函数取得 PHP 环境配置的变量 magic_quotes_gpc (GPC, Get/Post/Cookie) 值。返回 0 表示关闭本功能;返回 1 表示本功能打开。当 magic_quotes_gpc 打开时,所有的 ' (单引号), " (双引号), \ (反斜线) and 空字符会自动转为含有反斜线的溢出字符。

magic_quotes_gpc

对于 php.ini 中的 magic_quotes_gpc,是设置为 off 还是为 on 呢?

我个人观点,应该设置为 on

总结如下:

1. 对于magic_quotes_gpc=on的情况,

我们可以不对输入和输出数据库的字符串数据作

addslashes()和stripslashes()的操作,数据也会正常显示。

如果此时你对输入的数据作了addslashes()处理,

那么在输出的时候就必须使用stripslashes()去掉多余的反斜杠。

2. 对于magic_quotes_gpc=off 的情况

必须使用addslashes()对输入数据进行处理,但并不需要使用stripslashes()格式化输出

因为addslashes()并未将反斜杠一起写入数据库,只是帮助mysql完成了sql语句的执行。

补充:

magic_quotes_gpc 作用范围是:WEB客户服务端;作用时间:请求开始时,例如当脚本运行时.

magic_quotes_runtime 作用范围:从文件中读取的数据或执行exec()的结果或是从SQL查询中得到的;作用时间:每次当脚本访问运行状态中产生的数据

java addslashes_PHP防止注入攻击相关推荐

  1. Java程序员从笨鸟到菜鸟之(一百)sql注入攻击详解(一)sql注入原理详解

    前段时间,在很多博客和微博中暴漏出了12306铁道部网站的一些漏洞,作为这么大的一个项目,要说有漏洞也不是没可能,但其漏洞确是一些菜鸟级程序员才会犯的错误.其实sql注入漏洞就是一个.作为一个菜鸟小程 ...

  2. 如何防止网站被SQL注入攻击之java网站安全部署

    SQL注入攻击(SQL injection)是目前网站安全以及服务器安全层面上是最具有攻击性,危害性较高,被黑客利用最多的一个漏洞,基本上针对于网站代码,包括JAVA JSP PHP ASP apac ...

  3. 你了解Java应用开发中的注入攻击吗?

    第31讲 | 你了解Java应用开发中的注入攻击吗? 安全是软件开发领域永远的主题之一,随着新技术浪潮的兴起,安全的重要性愈发凸显出来,对于金融等行业,甚至可以说安全是企业的生命线.不论是移动设备.普 ...

  4. crlf注入漏洞 java解决办法_HTTP响应拆分漏洞(CRLF注入攻击)解决办法

    HTTP响应拆分漏洞(也叫CRLF注入攻击)解决办法.出现HTTP响应拆分漏洞的网站攻击者可能注入自定义HTTP头.例如,攻击者可以注入会话cookie或HTML代码.这可能会进行类似的XSS(跨站点 ...

  5. Java防止Xss注入json_浅谈 React 中的 XSS 攻击

    作者:陈吉 转发链接:https://mp.weixin.qq.com/s/HweEFh78WXLawyQr_Vsl5g 前言 前端一般会面临 XSS 这样的安全风险,但随着 React 等现代前端框 ...

  6. 超强JSP防SQL注入攻击

    第一种采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setString方法传值即可: String sql= "select * from users where userna ...

  7. SQL注入攻击的种类和防范手段

    观察近来的一些安全事件及其后果,安全专家们已经得到一个结论,这些威胁主要是通过SQL注入造成的.虽然前面有许多文章讨论了SQL注入,但今天所讨论的内容也许可帮助你检查自己的服务器,并采取相应防范措施. ...

  8. 【网络安全】SQL注入攻击思路手法总结(上)

    一.前言 本文为自己对SQL注入这个攻击手法的理解,跟大家一起分享SQL注入知识. 分上下篇,上篇为攻击手法概括,初稿不会写太多,后面会更新:下篇为防御篇,会把一些常见的,不常见的写进去. 二.概念 ...

  9. 使用#传递参数防御SQL注入攻击

    SQL注入攻击 什么是SQL注入 SQL注入:利用现有应用程序,将(恶意)的SQL命令注入到后台数据库执行一些恶意的操作. 造成SQL注入的原因是因为程序没有有效过滤用户的输入,使攻击者成功的向服务器 ...

最新文章

  1. [网络流24题] 最长k可重区间集
  2. 算法笔记-链相关、链的基础、单链双链环链、链的各种功能实现、链的算法题、面试题以及算法优化方法(多)、C#
  3. salt 基本组建之 grains,pillars(整理中)
  4. Samba共享后不能访问,或者看不到文件,是selinux惹的祸
  5. SpringMVC学习(二)——快速搭建SpringMVC开发环境(注解方式)
  6. 织梦服务器怎么修改,织梦dedecms更换服务器搬家教程
  7. linux的用户及权限管理,Linux 用户及权限管理.doc
  8. 广东自考计算机专业在校生,2020年4月广东自考计算机及应用专业计划及课程设置(B080702本科)...
  9. php压缩解压zip文件夹,php利用ZipArchive类实现文件压缩与解压
  10. 【马尔科夫链-蒙特卡罗】马尔科夫链-蒙特卡罗方法对先验分布进行抽样
  11. vuecli3代码压缩混淆使用uglifyjs压缩JS
  12. 计算机专业英语常用词汇整理
  13. 机械硬盘如何克隆至固态硬盘,如何把硬盘系统克隆到固态硬盘
  14. FDTD Solutions时域有限差分法仿真学习相关操作(一)——GDS导出
  15. zabbix监控的快速部署
  16. JS数组常用的方法shift,unshift,splice,split,slice
  17. python基础个人总结
  18. Unity3D热更设计:一款基于 HybridCLR的C#热更方案
  19. 计算机ncre教材,ncre教材
  20. 修改IE设置(修改注册表)允许活动内容在我的电脑的文件运行

热门文章

  1. 初探在容器上构建持续部署!
  2. Spark 3.0 发布了,代码拉过来,打个包,跑起来!| 附源码编译
  3. iPhone 11 引领芯片新革命?
  4. 58 同城 iOS 客户端组件体积分析与统计实践
  5. 一键打造全栈式小程序开发者!
  6. 微信们正在成为“被模仿者”!中国互联网现状及趋势报告
  7. 支离破碎的 Android
  8. 遇冷的斗鱼直播,还“斗”得动吗?| 畅言
  9. 揭秘计算机之间互发数据的关键原理!
  10. Google 又逆天:语音输入离线实时输出文字,仅占 80 MB !然而……