-2

これは、私の Web サイトにテキスト ファイルをアップロードするための元のコードです。

<?php
$myFile = $_GET['myFile'];
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = $_GET['stringData'];
fwrite($fh, $stringData);
fclose($fh);
?>

それはあなたにとって十分に安全ですか、それとも次のようなものを使用する必要があります:

<?php
if (isset($_GET['myFile'])) {
    $myFile = basename($_GET['myFile']);
    $fh = fopen($myFile, 'w') or die("can't open file");
}
$stringData = $_GET['stringData'];
fwrite($fh, $stringData);
fclose($fh);
?>
4

2 に答える 2

1

最初のコードはファイルをサーバーにアップロードせず、クライアント側で指定された名前とコンテンツでテキスト ファイルを作成するだけです。

の値を指定しない場合、2 番目のコードは失敗する可能性がありますmyFile

于 2012-12-20T18:29:15.417 に答える
1

基本的に、現在のディレクトリに任意のファイルをアップロードできます....

たとえば、攻撃者が望むことは何でも行う PHP スクリプトをアップロードします。

いいえ...そのようなコードを書くべきではありません。

  1. ファイルを特定の場所にのみアップロードするようにしてください。
  2. あなたはそれらに名前を付けます - ユーザーから決して受け入れないでください。
  3. もっと詳しく知る...
于 2012-12-20T18:29:25.130 に答える