ホームページ  >  記事  >  バックエンド開発  >  3行のコードのセキュリティについて尋ねる_PHPチュートリアル

3行のコードのセキュリティについて尋ねる_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:51:34753ブラウズ




3 行のコードのセキュリティについて質問します



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

foreach ($js を $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 を $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('エラー');



エコー $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を1つのファイルにまとめます
たとえば
jquery、fckeditor をロードする必要があり、thnikbox を必要としないページは、js=jquery、fckeditor を使用できます
コードは非常にシンプルで、効率はファイルを直接ロードするのと同じになるはずです

D8888D 返信内容 -------------------------------------------------- -----------------------
ページ上にどれだけの js ファイルがあっても、スクリプト化できるのは 1 回だけです

D8888D 返信内容 -------------------------------------------------- -----------------------
$_GET
によってアップロードされたファイルは含めないでください PHP にはリモート ファイルを含めることができます



http://www.bkjia.com/PHPjc/632563.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632563.html技術記事 3 行のコードのセキュリティ問題を確認します $js =explode(',',$_GET['js']); foreach ($js as $file) { echo file_get_contents('./public/js/'.$ file.'.js')."n"; 攻撃者がコードをコピーする方法はありますか...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。