易截截图软件、单文件、免安装、纯绿色、仅160KB

php 安全

如何不使用prepared statment,而是用过滤的方法避免SQL注入呢?
一般来说mysql自带的过滤函数是比较可靠的。mysql_real_escape_string()
但是这个函数在某些字符集中有问题,比如GBK。如果你用UTF8那没关系。
在PHP里设置数据库的字符集不应该用:mysql_query("SET NAMES UTF8");
而应该用:mysql_set_charset()
这样mysql_real_escape_string()在处理GBK编码的时候就不会出问题了。
mysql_real_escape_string() not safe when SET NAMES is used
use mysql_set_charset() instead.
Note: This is the preferred way to change the charset. Using mysql_query() to execute SET NAMES .. is not recommended.
SET NAMES is usually used to switch the encoding from what is default to what the application needs. This is done in a way that mysql_real_escape_string doesn’t know about this. This means if you switch to some multi byte encoding that allows backslash as 2nd 3rd 4th… byte you run into trouble, because mysql_real_escape_string doesn’t escape correctly. UTF-8 is safe…
Safe way to change encoding is mysql_set_charset, but that is only available in new PHP versions


相关文档:

PHP运行环境在Windows下的配置(MySQL配置)

 软件离不开数据库,而PHP最常用的数据库是MySQL。MySQL数据库分服务端和客户端。
MySQL服务端的安装:
(1)点击MySQL安装包(此处的安装程序为mysql-5.0.18-win32.zip)
(2) 默认是Typical,如果想修改安装路径的话也可以选择custom.
注意:安装mysql的路径中,不能含有中文!
(3)点击intall开始安装
(4)跳过注册
(5 ......

讲讲php的魔术方法

PHP5.0后,php面向对象提成更多方法,使得php更加的强大!!
一些在PHP叫魔术方法的函数,在这里介绍一下:其实在一般的应用中,我们都需要用到他们!!
1.__construct() 当实例化一个对象的时候,这个对象的这个方法首先被调用。
Java代码
class Test { function __construct() { ec ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号