首页 >php教程 >php手册 >求三行代码的安全性问题

求三行代码的安全性问题

WBOY
WBOY原创
2016-06-13 09:52:56730浏览




求三行代码的安全性问题



$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是可以包含远程文件的


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