php判断文件上传类型及过滤不安全数据的方法

这篇文章主要介绍了php判断文件上传类型及过滤不安全数据的方法,可实现对$_COOKIE、$_POST、$_GET中不安全字符的过滤功能,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了php判断文件上传类型及过滤不安全数据的方法。分享给大家供大家参考。具体如下:

禁止上传除图片文件以外的文件,提示,不要获取文件扩展名来判断类型,这样是最不安全的,我们用$_FIlES['form']['type'].

这个可以读取文件内容来识别文件类型,但它能识别的有限,不过如果你用图片就足够了解.函数,过滤不安全字符,实例函数代码如下:

  1. function s_addslashes($string, $force = 0) {
  2. if(!get_magic_quotes_gpc()) {
  3. if(is_array($string)) {
  4. foreach($string as $key => $val) {
  5. $string[$key] = s_addslashes($val, $force);
  6. }
  7. } else {
  8. $string=str_replace("&#x","& # x",$string); //
  9. //过滤一些不安全字符
  10. $string = addslashes($string);
  11. }
  12. }
  13. return $string;
  14. }
  15. //用法实例:
  16. $_COOKIE = c_addslashes($_COOKIE);
  17. $_POST = c_addslashes($_POST);
  18. $_GET = c_addslashes($_GET);
  19. //在公共文件中加入
  20. if($_FILES){
  21. foreach( $_FILES as $key => $_value )
  22. {
  23. $_FILES[$key]['type'] =$_value['type'];
  24. }
  25. if(substr($_FILES[$key]['type'],0,6) !='image/')
  26. {
  27. exit;
  28. }
  29. }

希望本文所述对大家的PHP程序设计有所帮助。