Heim  >  Artikel  >  Backend-Entwicklung  >  求三行代码的安全性问题_PHP教程

求三行代码的安全性问题_PHP教程

WBOY
WBOYOriginal
2016-07-13 10:51:34750Durchsuche




求三行代码的安全性问题



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


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632563.htmlTechArticle求三行代码的安全性问题 $js = explode(',',$_GET['js']); foreach ($js as $file) { echo file_get_contents('./public/js/'.$file.'.js')."n"; } 复制代码攻击者有没方法...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:is_uploaded_file疑惑_PHP教程Nächster Artikel:jquery的问题_PHP教程