PHP中对SQL注入的防范

上一篇 / 下一篇  2006-12-07 12:31:32

<?phpPHPChina 开源社区门户pM{qy'_!@9q%yiy
PHPChina 开源社区门户a h#y x0y2U
/*PHPChina 开源社区门户 Bs}3h5F[Dd
 * 使用函数 array_map 必须确认PHP>= 4.0.6PHPChina 开源社区门户J| u8C)aI-}0y
 *PHPChina 开源社区门户 FQ+w1?(B0c"EA
 */PHPChina 开源社区门户Pg)} oLw!?A
PHPChina 开源社区门户-g4ZKV lpB$Bs%?w
error_reporting(E_ERROR | E_WARNING | E_PARSE);
Pe%k2X7]l0set_magic_quotes_runtime(0);PHPChina 开源社区门户yj7nv,Vz

\ h h$v&l(oUX |@0@extract( allAddSlashes($_GET)    );PHPChina 开源社区门户E U*cF],?8Li
@extract( allAddSlashes($_POST)   );PHPChina 开源社区门户+hA d#V6{d
@extract( allAddSlashes($_COOKIE) );
/fv7I2M*f$F&X u:a2m)C.X0PHPChina 开源社区门户1b g$R%VZb(M.On
function allAddSlashes($mixVariable) {
+O8H(Fa\0   if ( !get_magic_quotes_gpc() ) {PHPChina 开源社区门户l xLr#~7X'o?hh
      $mixVariable = is_array($mixVariable) ? array_map('allAddSlashes', $mixVariable) : addslashes($mixVariable);PHPChina 开源社区门户i-s0tHc@0])e
   }
)u;e%r/u(IF4L3q`0   return $mixVariable;
-vW"Fq j]#w,~0}
'Ik(U8Y?7W!h9U0
B.f9\.f'c7O+A0/*
B~"@'n[M!E{_.L0PHPChina 开源社区门户,`S-^QB!Y,`
function allAddSlashes($mixVariable) {
#Z {j7Sl A w K0   if ( !get_magic_quotes_gpc() ) {PHPChina 开源社区门户P9gg2@I5y
      if ( is_array($mixVariable) ) {
T8C{%F._A.s#yb:q0         foreach($mixVariable as $name => $value) {
bp2x ds7r1g$Z+J7A:y0            $mixVariable[$name] = allAddSlashes($value);
Oio|S0         }
G'kOH @d*O+T?0      } else {PHPChina 开源社区门户5ujK$tJ^!c ~2GD@
         $mixVariable = addslashes($mixVariable);
L\(k4@)bI'y0      }
[ s(sD r)V/U%e*k%@0   }
#E8O'q? GJ/x0   return $mixVariable;PHPChina 开源社区门户|*b1}~Qin#~
}
RK~3Aj`0
eW DjM1z5},?1eI0 */PHPChina 开源社区门户+D4n^~k{,u w
PHPChina 开源社区门户5T!_j5v6mC2~T*Seok
if ($action == 'test' && $testString) {
K6d7L"SN{0   $outPutTestString = "测试字符串处理后: $testString";
GI#eA.C6pa!Wd0Y/W o j0}
,E,J3c"v.v0
4sM qi6J M0?>PHPChina 开源社区门户+F P} z N
<html>PHPChina 开源社区门户3g Ey8[({)@WE&OL
<head>
5p ed!`0F3P0<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
u!h#P2W-T7N/_K$K0<title>对SQL注入的一些预防措施</title>PHPChina 开源社区门户;gbT1D'Xk G
<style type="text/css">PHPChina 开源社区门户oK;HBSw
body { font-family:Verdana,Arial,宋体; font-size:12px; }PHPChina 开源社区门户B6} Vk-Y;b
</style>PHPChina 开源社区门户|nP\8h
</head>PHPChina 开源社区门户4B)R)[^kp7Z5In*G5_
<body>PHPChina 开源社区门户t5\Q C#RW+W
<form name="myTestForm" method="post" action="<?php print($_SERVER['PHP_SELF']); ?>">PHPChina 开源社区门户 WA[ q O/k sw
  请输入测试字符串:
Qq+L Lf"wa'_0  <input type="text" name="testString">PHPChina 开源社区门户E!|!_S(`?_*XB
  <input type="submit" value="测 试">
kY.^N[;|:Yq0u\0  <input type="hidden" name="action" value="test">
G] [[#Z0</form>PHPChina 开源社区门户1R+~rA_ T
<hr />PHPChina 开源社区门户pYr-~ Cb'e*~/^i
<?php print($outPutTestString); ?>
,}"T5?&_l!N\3l0</body>PHPChina 开源社区门户A+D{Q4VP"Z@t2Gc
</html>

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

数据统计

  • 访问量: 29408
  • 日志数: 99
  • 图片数: 1
  • 建立时间: 2006-10-25
  • 更新时间: 2007-02-06

RSS订阅

Open Toolbar