PHP禁止页面缓存输出

操作方法

  • 01

    为什么使用 Magic quotes 分享:简而言之,Magic quotes 开启后会自动转义输入的数据。其中,所有的单引号(')、双引号(")、反斜线、和 NULL 字符都会被转义(增加个反斜线),其实这操作本质上调用的是 addslashes 函数。 方便快捷 PHP 的设计者在设计之初的构想就是能够快速方便的编程。例如插入数据库时,Magic quotes 会自动将数据转义,这很方便。 对初学者有利 Magic quotes 可以从一定程度上,让初学者带离脚本的安全风险。例如在没有任何保护措施的代码下,开启了 Magic quotes 后会少很多的风险,例如注入问题。当然,单一使用此方法,并不能完全阻止此类安全问题。 “我没有权限去关闭” 很显然你已经可能意识到了这个问题,但是主机空间并非完全由自己控制。 为什么不使用 Magic quotes 可移植性 无论此功能是否开启,它都会影响脚本的可移植性,因为它影响我们后续过滤数据的操作。 性能问题 在获取所有的外部数据之前都会被转义,这无疑会增加运行时的花销(而且并不是所有的数据都需要转义)。 造成困惑 正如上述所言,并非所有的数据都需要被转义。有可能出现的一种情况,就是当你为了获取未被转义的数据,而“疯狂的”使用 stripslashes 函数。 PHP6 已经不支持 PHP 的设计者显然已经意识到了自己的“错误”,所以在 PHP6 中已经将其废弃。 如何禁用 Magic quotes 按照本人观点,使用 php.ini 配置文件全局禁用 Magic quotes 是最靠谱的。参考下面的代码 ; Magic quotes;; Magic quotes for incoming GET/POST/Cookie data.magic_quotes_gpc = Off; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.magic_quotes_runtime = Off; Use Sybase-style magic quotes (escape ' with '' instead of ').magic_quotes_sybase = Off 然而线上的主机可能无法让你修改 php.ini 文件,那么可以使用 .htAccess 文件禁用,加入下面的代码 php_flag magic_quotes_gpc Off上述可移植的代码而言,无论是否禁用 magic_quotes,数据必须保持一致。那么下面的代码可以帮助您 <?phpif (get_magic_quotes_gpc()) {function stripslashes_deep($value) {$value = is_array($value) ?array_map('stripslashes_deep', $value) :stripslashes($value);return $value;}$_GET = array_map('stripslashes_deep', $_GET);$_POST = array_map('stripslashes_deep', $_POST);$_COOKIE = array_map('stripslashes_deep', $_COOKIE);$_REQUEST = array_map('stripslashes_deep', $_REQUEST);} 对于 Magic quotes,对于 PHPer 而言是个老生常谈的问题。今天我们老师无意间看到篇文章,上面就是结合PHP Manual以及其回复,在这里做个简单的汇总。

(0)

相关推荐

  • 网站建设中页面缓存的作用

    操作方法 01 对于网站建设来说,页面缓存是安装在网站服务器之前的缓存服务器,用于卸载对于服务器上的静态和动态对象的请求.在网站制作或网站设计中页面缓存还有其它常见名称,如反向代理缓存,反向代理服务器 ...

  • 禁止IIS缓存静态文件(png.js.html等)的方法

    禁止IIS缓存静态文件(png、js、html等)背景:IIS为了提高性能,默认情况下会对静态文件js、html、gif、png等做内部缓存,这个缓存是在服务器iis进程的内存中的。IIS这么做在很大 ...

  • 如何清除WeGame的页面缓存

    我们在电脑上使用WeGame玩游戏的时候,时间长了,难免产生一些那页面缓存,想要进行清理,该怎么操作呢?今天就跟大家介绍一下如何清除WeGame的页面缓存的具体操作步骤.1. 首先打开电脑,找到桌面上 ...

  • HTML页面每次打开的时候都清除页面缓存怎么设置

    解决办法为: (1) 用HTML标签设置HTTP头信息 <HEAD> <METAHTTP-EQUIV="Pragma" CONTENT="no-cach ...

  • 如何禁用浏览器的后退按钮

    一、概述 曾经有许多人问起,“怎样才能‘禁用’浏览器的后退按钮?”,或者“怎样才能防止用户点击后退按钮返回以前浏览过的页面?”我访问了许多网站,参考了这些网站所介绍的各种实现方法。如果你经常访问ASP ...

  • 如何设置对某些站点禁止缓存?

    当ISA创建了正向缓存后,由于安全需要,可能需要对某些站点禁止缓存,如邮件服务站点等。 步骤1:启动ISA,在左边窗口中展开目录,选择【缓存】结点,在中间窗口中选择【缓存规则】 选项卡,右击之前创建的 ...

  • excel表格中怎么设计输出页的规范要求?

    excel中设计输出页的规范要求. 1.要想excel用的好,必须在数据源上做好准备工作.前期我们讲过,excel表格分为输入和输出,输入时按照规范进行,就可以避免输出时的各种弊端.我们先打开一个工作 ...

  • 千牛怎么清理缓存?两种清理千牛缓存方法介绍

    千牛怎么清理缓存呢?如果缓存太多,千牛客户端会提示清理缓存,但是有很多朋友对于千牛怎么清理缓存还不太清楚,下文小编就为大家带来两种清理千牛缓存方法介绍,有需要的朋友一起去看下吧。 两种清理千牛缓存方 ...

  • 怎么清理酷我音乐缓存?

    怎么清理酷我音乐缓存? 操作方法如上图所示。 您可以在“选项设置”-“系统”页面-“缓存资源设置”中,选择“手动设置最大缓存”,然后输入一个您希望的最大缓存上限,当音乐盒缓存文件大小超过这个上限时,音 ...