java addslashes_PHP防止注入攻击
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防止注入攻击相关推荐
- Java程序员从笨鸟到菜鸟之(一百)sql注入攻击详解(一)sql注入原理详解
前段时间,在很多博客和微博中暴漏出了12306铁道部网站的一些漏洞,作为这么大的一个项目,要说有漏洞也不是没可能,但其漏洞确是一些菜鸟级程序员才会犯的错误.其实sql注入漏洞就是一个.作为一个菜鸟小程 ...
- 如何防止网站被SQL注入攻击之java网站安全部署
SQL注入攻击(SQL injection)是目前网站安全以及服务器安全层面上是最具有攻击性,危害性较高,被黑客利用最多的一个漏洞,基本上针对于网站代码,包括JAVA JSP PHP ASP apac ...
- 你了解Java应用开发中的注入攻击吗?
第31讲 | 你了解Java应用开发中的注入攻击吗? 安全是软件开发领域永远的主题之一,随着新技术浪潮的兴起,安全的重要性愈发凸显出来,对于金融等行业,甚至可以说安全是企业的生命线.不论是移动设备.普 ...
- crlf注入漏洞 java解决办法_HTTP响应拆分漏洞(CRLF注入攻击)解决办法
HTTP响应拆分漏洞(也叫CRLF注入攻击)解决办法.出现HTTP响应拆分漏洞的网站攻击者可能注入自定义HTTP头.例如,攻击者可以注入会话cookie或HTML代码.这可能会进行类似的XSS(跨站点 ...
- Java防止Xss注入json_浅谈 React 中的 XSS 攻击
作者:陈吉 转发链接:https://mp.weixin.qq.com/s/HweEFh78WXLawyQr_Vsl5g 前言 前端一般会面临 XSS 这样的安全风险,但随着 React 等现代前端框 ...
- 超强JSP防SQL注入攻击
第一种采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setString方法传值即可: String sql= "select * from users where userna ...
- SQL注入攻击的种类和防范手段
观察近来的一些安全事件及其后果,安全专家们已经得到一个结论,这些威胁主要是通过SQL注入造成的.虽然前面有许多文章讨论了SQL注入,但今天所讨论的内容也许可帮助你检查自己的服务器,并采取相应防范措施. ...
- 【网络安全】SQL注入攻击思路手法总结(上)
一.前言 本文为自己对SQL注入这个攻击手法的理解,跟大家一起分享SQL注入知识. 分上下篇,上篇为攻击手法概括,初稿不会写太多,后面会更新:下篇为防御篇,会把一些常见的,不常见的写进去. 二.概念 ...
- 使用#传递参数防御SQL注入攻击
SQL注入攻击 什么是SQL注入 SQL注入:利用现有应用程序,将(恶意)的SQL命令注入到后台数据库执行一些恶意的操作. 造成SQL注入的原因是因为程序没有有效过滤用户的输入,使攻击者成功的向服务器 ...
最新文章
- [网络流24题] 最长k可重区间集
- 算法笔记-链相关、链的基础、单链双链环链、链的各种功能实现、链的算法题、面试题以及算法优化方法(多)、C#
- salt 基本组建之 grains,pillars(整理中)
- Samba共享后不能访问,或者看不到文件,是selinux惹的祸
- SpringMVC学习(二)——快速搭建SpringMVC开发环境(注解方式)
- 织梦服务器怎么修改,织梦dedecms更换服务器搬家教程
- linux的用户及权限管理,Linux 用户及权限管理.doc
- 广东自考计算机专业在校生,2020年4月广东自考计算机及应用专业计划及课程设置(B080702本科)...
- php压缩解压zip文件夹,php利用ZipArchive类实现文件压缩与解压
- 【马尔科夫链-蒙特卡罗】马尔科夫链-蒙特卡罗方法对先验分布进行抽样
- vuecli3代码压缩混淆使用uglifyjs压缩JS
- 计算机专业英语常用词汇整理
- 机械硬盘如何克隆至固态硬盘,如何把硬盘系统克隆到固态硬盘
- FDTD Solutions时域有限差分法仿真学习相关操作(一)——GDS导出
- zabbix监控的快速部署
- JS数组常用的方法shift,unshift,splice,split,slice
- python基础个人总结
- Unity3D热更设计:一款基于 HybridCLR的C#热更方案
- 计算机ncre教材,ncre教材
- 修改IE设置(修改注册表)允许活动内容在我的电脑的文件运行