程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 求三行代碼的安全性問題

求三行代碼的安全性問題

編輯:關於PHP編程




求三行代碼的安全性問題



$js = explode(',',$_GET['js']);

foreach ($js as $file) {

echo file_get_contents('./public/js/'.$file.'.js')."n";

}


復制代碼攻擊者有沒方法讀到服務器上的PHP文件

[ ]

我來回答




D8888D回貼內容-------------------------------------------------------

$js = $_GET['js'];

$js = explode(',',$js);

$error = null;

!is_array($js) && $error +=1;

$str = null;

foreach ($js as $file) {

eregi('[[:punct:]]',$file) && $error +=1;

$files = "./public/js/{$file}.js";

if (is_file($files))

$str .= file_get_contents($files)."n";

}

if($error!==null)

exit('錯誤');



echo $str;

?>

復制代碼[ ]

D8888D回貼內容-------------------------------------------------------
謝謝於安
我不管錯誤了怎麼處理,想了解的是黑客有沒可能繞過後綴.js的限制訪問php文件
反正除了黑客沒其他人用的
錯誤加個error_reporting(0);就是了
剛看了這篇文章
[url=http://www.111cn.cn/html/18/t-3418.html]鏈接標記http://www.111cn.cn/html/18/t-3418.html[/url]

D8888D回貼內容-------------------------------------------------------
習慣總得養成好.. 流程控制好..

以便維護.

D8888D回貼內容-------------------------------------------------------
恩恩額、
你覺得繞過限制容易嗎

D8888D回貼內容-------------------------------------------------------
看你的代碼.,

讀文件, 還循環來讀.. 感覺不出來是什麼程序需要這種結構..

D8888D回貼內容-------------------------------------------------------
不錯

D8888D回貼內容-------------------------------------------------------
我代碼是js加載用的,把所有js放到一個文件裡面,減少request數
比如
需要加載jquery,fckeditor不需要thnikbox的頁面就js=jquery,fckeditor
代碼很簡單,效率應該和直接加載一個文件一樣

D8888D回貼內容-------------------------------------------------------
一個頁面有再多js都只 script一次

D8888D回貼內容-------------------------------------------------------
不要包含$_GET上來的文件
PHP是可以包含遠程文件的


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved