file_put_contents() 函數把一個字串寫入檔案中。最近發現file_put_contents函數有一直沒注意到的問題,所以下面這篇文章主要給大家介紹了關於PHP中危險的file_put_contents函數的相關資料,需要的朋友可以參考借鑒,下面來一起看吧。
前言
最近在EIS上遇到一道文件上傳的題,發現過濾了2662232b1b716ff24a83ff64a9d5e1f8&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)); } ?>
file_put_contents函數介紹與使用方法詳解PHP中應該如何使用file_put_contents函數PHP中的file_put_contents函數詳解
#
以上是PHP中file_put_contents函數詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!