のGETによって作成されたURL文字列を保護する方法私は特定のディレクトリをスキャンするためのアンカーを作りたいと思っています。ファイル管理のために
私はそれのために、このエコーを使用します。
echo "<div class='urldir'>"
."<a href='?dir=".dirname($dir).'/'.basename($dir).'/'.$file."'>open dir</a>"
."</div>";
のdirnameとのbasename私のディレクトリへの正しい道を与えます。
これはユーザーのための通常の「ルート」ディレクトリです:私は、ユーザーが自分のルートにフォルダを作成したとき、彼はディレクトリを変更folder.Toその内のファイルを見ることができなければなりません
$dir = 'uploads/sfm/'.$UserID;
とそのディレクトリ内のすべてのファイルを表示し、私はこの
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$strArr = explode("=",$actual_link);
$CurrentPath = $strArr[1];
if(isset($_GET['dir'])) {
$dir = $CurrentPath;
}
を使用するので、私はURLからディレクトリを読み込み、変数$dir
が問題
を変更:Uを私は、URLになりまし入力すると
sfm?dir=uploads/sfm/c4ca4238a0b923820dcc509a6f75849b/folder
:RLは、私にこのような文字列を示し
sfm?dir=uploads/
彼はアップロードフォルダ内のファイルを私に示しています。これは保護されなければなりません! 誰もこれを見ることができません。 また、これは表示から保護する必要があります。 sfm?dir=uploads/sfm/
どうすれば実現できますか?ところで
:私は、変数$ユーザーIDのMD5が 試料溶液は、正規表現を使用して、MD5ディレクトリをつかむためにあるmd5($UserID)
が素晴らしいようです。ちょうどもう一つの問題:ユーザーがルートを探しているとき、URLは 'http:// example.coml/sfm'なので、もしURLがそうならば、アクセスする必要があります。 –
これは簡単です。 dir変数が空の場合(例: '空であれば($ _GET ['dir'])... 'アクセスを許可します! – antoniom