国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php 防止查詢的sql攻擊方法總結

2024-05-04 21:58:42
字體:
來源:轉載
供稿:網友

防止sql注入不但是新學的程序員朋友需要深入了解的一個重要知識點之外,還是我們這些寫了多年程序的朋友也必須注意的東西,下面給新手介紹php 防止查詢的sql攻擊的一些例子,希望對各位會有所幫助.

一個入門級別的例子,代碼如下:

  1. $k = $_REQUEST['k']; 
  2.  
  3. $k = addslashes($k);//轉義:單引號,雙引號,反斜線,NULL 
  4.  
  5. $k = str_replace('%''\%'$k); 
  6.  
  7. $k = str_replace('_''\_'$k); 
  8.  
  9. $sql = "select * from users where name like '%$k%'"
  10.  
  11. if(!emptyempty($k)){ 
  12.  
  13. $res = mysql_query($sql$conor die(mysql_error()); 
  14.  
  15. if($row = mysql_fetch_assoc($res)){ 
  16.  
  17. foreach($row as $k=>$v){ 
  18.  
  19. echo $row[$k].':'.$row[$v].'<br />'
  20.  
  21.  
  22. //開源代碼Vevb.com 
  23. }else
  24.  
  25. echo '******'
  26.  

補充:mysql_real_escape_string();所以得SQL語句如果有類似這樣的寫法:

"select * from cdr where src =".$userId; 都要改成 $userId=mysql_real_escape_string($userId) 

例子代碼如下:

  1. <?php 
  2.  
  3. $clean = array(); 
  4. $mysql = array(); 
  5.  
  6. $clean['last_name'] = "O'Reilly"
  7. $mysql['last_name'] = mysql_real_escape_string($clean['last_name']); 
  8.  
  9. $sql = "INSERT 
  10.       INTO   user (last_name) 
  11.       VALUES ('{$mysql['last_name']}')"; 
  12.  
  13. ?> 

所有有打印的語句如echo,print等,在打印前都要使用htmlentities() 進行過濾,這樣可以防止Xss,注意中文要寫出,代碼如下:

htmlentities($name,ENT_NOQUOTES,GB2312).

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 当阳市| 巴彦淖尔市| 长垣县| 赞皇县| 清镇市| 安义县| 九龙县| 剑河县| 湛江市| 红桥区| 乐平市| 绥宁县| 玉山县| 兴城市| 文水县| 邵东县| 岳西县| 夏河县| 黔西县| 综艺| 濮阳县| 大理市| 敦煌市| 广河县| 弥渡县| 探索| 灵台县| 龙江县| 桃园市| 西乡县| 昆山市| 仙桃市| 石屏县| 夏邑县| 西昌市| 松江区| 台东市| 台东县| 唐山市| 吴堡县| 万载县|