@H_502_0@1.不转意html entities
一个基本的常识:所有不可信任的输入(特别是用户从form中提交的数据) ,输出之前都要转意。
echo $_GET['usename'] ;
这个例子有可能输出:
这是一个明显的安全隐患,除非你保证你的用户都正确的输入。
如何修复 :
我们需要将"< ",">","and" 等转换成正确的HTML表示(<,>',and "),函数htmlspecialchars 和 htmlentities()正是干这个活的。
正确的方法:
echo htmlspecialchars($_GET['username'],ENTQUOTES);
@H502_0@2. 不转意sql输入
我曾经在一篇文章中最简单的防止sql注入的方法(PHP+MysqL中)讨论过这个问题并给出了一个简单的方法 。有人对我说,他们已经在PHP.ini中将magic_quotes设置为On,所以不必担心这个问题,但是不是所有的输入都是从$_GET,$_POST或 $_COOKIE中的得到的!
如何修复:
和在最简单的防止sql注入的方法(PHP+MysqL中)中一样我还是推荐使用MysqL_real_escape_string()函数
正确做法:
<div class="codetitle"><a style="CURSOR: pointer" data="71836" class="copybut" id="copybut71836" onclick="doCopy('code71836')"> 代码如下: