首页  >  文章  >  后端开发  >  PHP中的file_put_contents函数详解

PHP中的file_put_contents函数详解

小云云
小云云原创
2018-01-02 11:41:595305浏览

本文主要和大家分享PHP中的file_put_contents函数详解,最近在EIS上遇到一道文件上传的题,发现过滤了911d718d7058e1386872f9c05bfc9d11

于是我么可以传入content[]=1c54a2ccadef45a7573e3649bdfd6f57&ext=php 这样来绕过

修复方法

修复方法是使用fwrite 函数来代替危险的file_put_contents函数,fwrite函数只能传入字符串,如果是数组会出错返回false

<?php 
 
if(isset($_POST[&#39;content&#39;]) && isset($_POST[&#39;ext&#39;])){
 $data = $_POST[&#39;content&#39;];
 $ext = $_POST[&#39;ext&#39;];
 
 //var_dump(preg_match(&#39;/\</&#39;,$data));
 if(preg_match(&#39;/\</&#39;,$data)){
  die(&#39;hack&#39;);
 }
 $filename = time();
 // file_put_contents($filename.$ext, $data);
 $f = fopen($filename.$ext);
 var_dump(fwrite($f,$data));
}
 
?>

相关推荐:

有关php file_put_contents()函数的文章推荐10篇

php中怎么实现file_put_contents追加和换行?

PHP中fwrite与file_put_contents的区别

以上是PHP中的file_put_contents函数详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn