1

PHPでは、ユーザーの入力をフォルダーのタイトルとして使用する必要があります。

例えば:

$foldername = $_REQUEST["foldername"];
mkdir("./userfolders/".$foldername);

なぜなら、これで私が目にする問題の1つは、入力に「../」が含まれている可能性があるためです。これにより、フォルダが親ディレクトリに書き込まれますが、これは望ましくありません。これに対する私の解決策はstr_replace、文字列からすべてのスラッシュを取り除くことでした。

私が見逃した他の脆弱性はありますか?

4

2 に答える 2

1

urlencodeフォルダ名変数で関数を使用できる可能性はありますか?フォルダをユーザーに表示するときに、を使用できますurldecode

$foldername = urlencode($_REQUEST["foldername"]);
mkdir("./userfolders/".$foldername);

// Show folder name
echo urldecode($foldername);
于 2012-12-10T08:53:16.067 に答える
1
于 2012-12-10T08:45:58.977 に答える