0

ルートとセキュリティについて質問があります。

public html フォルダー内のファイルを保護する必要があります。ユーザーが私のプロジェクトのルートにアクセスしようとすると、ユーザーがログに記録されているかどうかを確認し、正しいルートにリダイレクトするためのいくつかの処理があります。

現時点でできないことは、ユーザーがページにログインしていない場合、www.xpto.com.br/file.html と同じ html パブリック フォルダー内のファイルへのアクセスを保護することです。

ユーザーがログに記録されているかどうかを確認する方法はありますが、html ファイルにはありませんか?

前もって感謝します!

4

1 に答える 1

1

public_html 領域にファイルがある場合、それらを保護してアクセスを制限することは非常に困難です。

最良のオプションは、 public_html の外の安全なディレクトリにファイルを隠し、ユーザーが特定のファイルにアクセスできることを確認したら、 php readfile()関数を使用してファイルをユーザーに「提供」することです。

例として、次のようなものがトリックを実行します。

function user_file($file_name = "")
{
    if ($file_name)
    {
         // Ensure no funny business names to prevent directory transversal etc.
         $file_name = str_replace ('..', '', $file_name);
         $file_name = str_replace ('/', '', $file_name);

         // now do the logic to check user is logged in
         if (Auth::check())
         {
                // Serve file via readfile() - we hard code the user_ID - so they
                // can only get to their own images
               readfile('../your_app/samples/'.Auth::user()->id.'/'.$file);
         }
    }
}
于 2013-09-02T09:22:28.977 に答える