- 浏览: 243832 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
thepastsee:
304572183股票交流 欢迎加入
实时股票 -
345161974:
很不错,我第一个接触的CSS卡片布局效果,多谢
css卡片效果
PHP魔术引号是在编程过程中必须注意的,否则会带来灾难性的麻烦,汗,今天就有客户找我了,我排查错误半天,发现是PHP魔术引号在作怪!真是很 郁闷的一件事,我就纳闷儿了,PHP默认魔术引号是关闭的,那个破网管闲的没事,给打开了!后来,偶找到他,他还给偶谈一些什么SQL注入的大道理,唉, 真是无语!!
PHP的魔术引号给程序编写带来了一丁点方便,但却严重影响的程序的可移植性,在开启magic_quotes_gpc的环境下写的程序到没开启的环境下就有可能出现错误。所以通常情况下,我们会关闭magic_quotes_gpc以避免它带来的问题。
手册里介绍了三种方法,在些整理一下:
1 修改PHP配置文件php.ini
这种方法只适于自己有权管理服务器的情况下,如果用的虚拟空间,那就只能采用后两条方法。
在PHP配置文件php.ini中将magic_quotes_gpc、magic_quotes_runtime、magic_quotes_sybase全部设为off。如下所示:
; 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
2 利用.htaccess文件
该方法只在服务器支持htaccess的情况下,现在的服务器一般都会支持的
在程序目录下.htaccess文件中增加下面一句:
php_flag magic_quotes_gpc Off
3 在代码中屏蔽
该方法是移植性最强的,不用考虑服务器的配置,只要支持PHP就可以使用。
在所有PHP文件开始处增加下面代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php if (get_magic_quotes_gpc()) { function stripslashes_deep($value) { $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); return $value; } $_POST = array_map('stripslashes_deep', $_POST); $_GET = array_map('stripslashes_deep', $_GET); $_COOKIE = array_map('stripslashes_deep', $_COOKIE); $_REQUEST = array_map('stripslashes_deep', $_REQUEST); } ?> |
自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com
发表评论
-
phphphphphphph
2012-03-01 22:27 0回归回归lkjlkjlkjlkjlkjlkjlkj -
php_相对路径_转
2012-03-01 22:07 0<?php $str1 = "/home/i ... -
php_自定义排序 关联数组
2012-03-01 21:11 0<?php //用PHP设计一个函数,对学生英语考试得 ... -
php_讲义
2012-02-29 13:07 0ewrwerwer -
php 禁止危险的函数_转
2012-02-27 12:28 0阿酷影 一些需要禁用的PHP危险函数 ... -
转_phpcan't return a result set in the given context及参数解释
2012-02-13 23:49 1289关键就是两点 defin ... -
php_可以编的表格
2012-01-29 10:42 879虽 -
php_oa
2011-10-20 16:48 690dfsdfsfsf -
jquery_upload
2011-09-12 13:07 706http://fangyong2006.iteye.com/b ... -
php__表单处理
2011-08-21 17:04 844sdfadfadsf -
$_SESSION 无法跨页保存数据
2011-08-21 11:46 935今天可遇到问题 $_SESSION 无法跨页保存数据 原 ... -
php 下载地址
2011-08-13 14:51 783window http://windows.php.n ... -
订单号__14位_转
2011-06-27 23:45 909http://bbs.phpchina.com/thread- ... -
9个免费 php 库_转
2011-06-24 21:17 10489个强大免费的PHP库 & 20 你应该知道的PHP ... -
php_错误解决_sessioin
2011-06-01 16:29 1073写购物车时遇到问题, Fatal error ... -
php面试题_转
2011-05-27 01:25 807kjljk -
jquery_ajax_table_php
2011-05-27 01:04 714jljklkj -
php算法_王伟阳
2011-05-23 13:17 821232342 -
php简历
2011-05-18 00:39 1087kjlkjlkj -
黑夜路人转__
2011-05-13 21:41 809lklk
相关推荐
安装过程涉及配置文件(php.ini)的修改,以设置PHP的运行时行为。 10. **datatype.png - 数据类型** PHP支持多种数据类型,包括整型、浮点型、字符串、数组、对象、布尔型、NULL以及资源。这张图可能展示了这些...
- 配置php.ini文件,启用Imagick扩展,添加`extension=imagick.so`(Windows环境下可能是`extension=php_imagick.dll`)。 3. **基本使用** - 创建`Imagick`对象,读取图像:`$im = new Imagick('image.jpg');` ...
- 魔法方法:如`__construct()`, `__destruct()`, `__get()`, `__set()`, `__call()`, `__toString()`等。 7. **数据库操作** - PDO或MySQLi接口:用于连接和查询MySQL数据库,掌握SQL语句的基本用法。 - 数据库...
- 错误处理:通过设置error_reporting()和ini_set()控制错误报告级别。 - 日志记录:可以使用error_log()函数将错误信息写入日志文件或通过其他方式发送。 8. **会话管理** - session_start()启动会话,$_...
- 错误报告:通过`error_reporting()`和`ini_set('display_errors', 'On')`开启错误显示。 - 异常处理:通过`try...catch`块来捕获和处理异常。 8. **面向对象编程** - 类:`class ClassName {...}`。 - 对象:...
为了编写高效、安全的PHP代码,开发者应遵循最佳实践,如使用命名空间,避免魔法变量,使用预处理语句防止SQL注入,使用`htmlspecialchars()`防止XSS攻击,以及定期更新PHP版本以获取最新安全修复。 13. **部署与...
bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。 含有下列参数的 bootcfg 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 bootcfg 命令。 用法: ...