摘要: 1、 验证用户输入的任何数据,保证PHP代码的安全这里有一个技巧就是使用白名单,所谓白名单就是说:我们要求用户的数据应该是这样的,例如我们要求用户的输入是一个数字,我们就只检验这个值是否是一个数字就行了,而不必检验他到底是什么——其实他有可能是个恶意脚本。对于这个检验我们不能只在客户端的javascript进行,战地认为JS只是为了提高来访用户的体验而产生的,而不是验证的工具。因为任何一个来访的用户都可能会,(!!!也有可能无意间就禁用了客户端脚本的执行,从而跳过这层验证。!!)所以我们必须在PHP的服务器端程序上检验这些数据。2、 保护数据库的安全——对即将运行于数据库的Sql语句进行安全性 阅读全文
posted @ 2012-12-20 09:00 sgsheg 阅读(169) 评论(0) 推荐(0) 编辑
摘要: <?php /** * mysql_real_escape_string -转义sql语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集, * mysql_real_escape_string()不转义%和_ * * mysql_real_escape_string(string $unescaped_string[,resource $link_identiffer]) * 本函数将unescaped_string中的特殊字符串转义,并计及连接的当前字符集,因此可以安全用于mysql_query() */ $item="zak's and Derick' 阅读全文
posted @ 2012-12-20 08:59 sgsheg 阅读(110) 评论(0) 推荐(0) 编辑
摘要: <?php /* * 对数据字符串进行转义 */ function check_str($string,$isurl=false){ $string=preg_replace('/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F]/','',$string); $string=str_replace(array("\0","%00","\r"),'',$string); empty($isurl) && $string=preg_replace(& 阅读全文
posted @ 2012-12-20 08:59 sgsheg 阅读(224) 评论(0) 推荐(0) 编辑
摘要: <?php /* 开发网站中,常见的攻击手段??? ---------------------------------------------------------------------- a.命令注入(Command Injection) b.eval注入(Eval Injection) c.客户端脚本攻击(Script Insertion) d.跨网站脚本攻击(Cross Site Scriptiong,XSS) e.SQL注入 f.SESSION会话劫持(Session Hijacking g.Session固定攻击(Session Fixation h.HTTP响应拆分攻击( 阅读全文
posted @ 2012-12-20 08:58 sgsheg 阅读(156) 评论(0) 推荐(0) 编辑