Maison > développement back-end > tutoriel php > 求三行代码的安全性问题_PHP教程

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

WBOY
Libérer: 2016-07-13 10:51:34
original
785 Les gens l'ont consulté




求三行代码的安全性问题



$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"; } 复制代码攻击者有没方法...
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal