清理用户输入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了清理用户输入相关的知识,希望对你有一定的参考价值。

  1. function cleanInput($input) {
  2.  
  3. $search = array(
  4. '@<script[^>]*?>.*?</script>@si', // Strip out javascript
  5. '@<[/!]*?[^<>]*?>@si', // Strip out html tags
  6. '@<style[^>]*?>.*?</style>@siU', // Strip style tags properly
  7. '@<![sS]*?--[ ]*>@' // Strip multi-line comments
  8. );
  9.  
  10. $output = preg_replace($search, '', $input);
  11. return $output;
  12. }
  13.  
  14. function sanitize($input) {
  15. if (is_array($input)) {
  16. foreach($input as $var=>$val) {
  17. $output[$var] = sanitize($val);
  18. }
  19. }
  20. else {
  21. $input = stripslashes($input);
  22. }
  23. $input = cleanInput($input);
  24. $output = mysql_real_escape_string($input);
  25. }
  26. return $output;
  27. }
  28.  
  29. //usage
  30. $bad_string = "Hi! <script src='http://www.evilsite.com/bad_script.js'></script> It's a good day!";
  31.  
  32. $_POST = sanitize($_POST);
  33. $_GET = sanitize($_GET);
  34. $good_string = sanitize($bad_string);

以上是关于清理用户输入的主要内容,如果未能解决你的问题,请参考以下文章

出于安全目的,在 bash 中清理用户输入

PHP PDO 清理用户输入

清理用户输入

Rails 4 清理用户输入

Python3 - 清理用户输入以供 shell 使用

清理用户输入PHP