PHP实现防止sql注入的通用方法

WBOY
Lepaskan: 2016-07-25 08:45:29
asal
984 orang telah melayarinya
  1. function inject_check($sql_str) {
  2. return eregi('select|insert|and|or|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile', $sql_str);
  3. }
  4. function verify_id($id=null) {
  5. if(!$id) {
  6. exit('没有提交参数!');
  7. } elseif(inject_check($id)) {
  8. exit('提交的参数非法!');
  9. } elseif(!is_numeric($id)) {
  10. exit('提交的参数非法!');
  11. }
  12. $id = intval($id);
  13. return $id;
  14. }
  15. function str_check( $str ) {
  16. if(!get_magic_quotes_gpc()) {
  17. $str = addslashes($str); // 进行过滤
  18. }
  19. $str = str_replace("_", "\_", $str);
  20. $str = str_replace("%", "\%", $str);
  21. return $str;
  22. }
  23. function post_check($post) {
  24. if(!get_magic_quotes_gpc()) {
  25. $post = addslashes($post);
  26. }
  27. $post = str_replace("_", "\_", $post);
  28. $post = str_replace("%", "\%", $post);
  29. $post = nl2br($post);
  30. $post = htmlspecialchars($post);
  31. return $post;
  32. }
复制代码

PHP, sql


sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan