私のクライアントは、ユーザーがマシン上のパスを入力できるWebサイトを作成するように頼んだので、PHPはパスをスキャンし、ディレクトリとサブディレクトリ内のすべてのメディアファイルをロードする必要があります。ユーザーはルートディレクトリの外にある任意のパス、デスクトップ、または外部ドライブを入力できます。それはクライアントが望むもので、彼はLinux上で動作しています。ルートディレクティング以外のファイルへのアクセス
:は、私はPHPがルート外のファイルにアクセスすることはできません彼に言った、彼はそれができそう、彼は私がいくつかのプロキシを使用するべきであると述べたと、彼は
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<?PHP
session_start();
function getFileList($dir)
{
// array to hold return value
$retval = array();
// add trailing slash if missing
if(substr($dir, -1) != "/") $dir .= "/";
// open pointer to directory and read list of files
$d = @dir($dir) or die("getFileList: Failed opening directory $dir for reading");
while(false !== ($entry = $d->read())) {
// skip hidden files
if($entry[0] == ".") continue;
if(is_dir("$dir$entry")) {
$retval[] = array(
"name" => "$entry/"
);
} elseif(is_readable("$dir$entry")) {
$retval[] = array(
"name" => "$entry"
);
}
}
$d->close();
return $retval;
}
$dirlist = getFileList("F:\uni\M2\Thesis\hmayed\ali\songs wav");
// output file list in HTML TABLE format
echo "<table border=\"1\">\n";
echo "<thead>\n";
echo "<tr><th>Name</th></tr>\n";
echo "</thead>\n";
echo "<tbody>\n";
foreach($dirlist as $file) {
echo "<form action=\"MusicP.php\" Method = \"POST\" \">\n";
echo "<input value =\" F:\\uni\\M2\\Thesis\\hmayed\\ali\\songs wav\\{$file['name']}\" type = \"submit\" name= \"submit\" id=\"{$file['name']}\">\n";
echo "</tr>\n";
}
echo "</form>\n";
echo "</table>\n\n";
?>
<audio src = "File:///F:\uni\M2\Thesis\songs\1.mp3" type= "audio/mp3" controls>
Your browser does not support the audio element.
</audio>
<body>
</body>
</html>
だから、私に私の質問に、このスクリプトを送りました
- このスクリプトまたはこのタイプのスクリプトは機能しますか?プロジェクト は実現可能ですか?
- そして、私が
/
というApache仮想サーバーを作成すると、すべてのファイルシステムが読み込まれますか?私はそれを試みたことはありません。
どちらのアプローチが可能であり、両方とも同じように安全ではありません。技術的な問題を引き起こす唯一のものは、ファイルシステムのアクセス許可です。 'sudo'のような拡張機能を使うと、それを回避することもできますが、明らかに物事はさらに不安になります。たとえば、システムアカウントのパスワードを読み取ることができます。いいことではないですか? – arkascha
@arkascha彼はラズベリーパイのデモンストレーションをしているだけで、セキュリティについては心配していません。 – Lynob
なぜセキュリティを気にしてはいけないのかわかりません。私は私のネットワークにこのようなゾンビを持っていたいとは思わない。しかし、あなたが主張している場合... URLをシステムに公開するよう依頼できますか?私たちは皆それを使用したいと思っています... – arkascha