本文主要和大家分享PHP中的file_put_contents函数详解,最近在EIS上遇到一道文件上传的题,发现过滤了911d718d7058e1386872f9c05bfc9d11
于是我么可以传入content[]=1c54a2ccadef45a7573e3649bdfd6f57&ext=php 这样来绕过
修复方法
修复方法是使用fwrite 函数来代替危险的file_put_contents函数,fwrite函数只能传入字符串,如果是数组会出错返回false
<?php if(isset($_POST['content']) && isset($_POST['ext'])){ $data = $_POST['content']; $ext = $_POST['ext']; //var_dump(preg_match('/\</',$data)); if(preg_match('/\</',$data)){ die('hack'); } $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中文网其他相关文章!