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

PHP中file_put_contents函数详解

墨辰丷
墨辰丷原创
2018-05-17 13:50:423288浏览

file_put_contents() 函数把一个字符串写入文件中。最近发现file_put_contents函数有一直没注意到的问题,所以下面这篇文章主要给大家介绍了关于PHP中危险的file_put_contents函数的相关资料,需要的朋友可以参考借鉴,下面来一起看吧。

前言

最近在EIS上遇到一道文件上传的题,发现过滤了e4cd55af0459d5215921181b63c659ea&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));
}
 
?>


相关推荐:

file_put_contents函数介绍与使用方法详解

PHP中应该怎么使用file_put_contents函数

PHP中的file_put_contents函数详解


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

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