2011-08-16 10 views
1

Apacheのディレクトリをカスタムフォームで保護することは可能ですか?私は静的なHTMLファイルでいっぱいのディレクトリを持って、それは基本的に完全な静的なサイトです。私はこのサイトをパスワードで保護したい。Apacheのディレクトリをカスタムフォームで保護することは可能ですか?

私は.htaccessを使うことができると知っていますが、サイトを安全にするためにカスタムフォーム/データベースを持っていると思います。私は十分にフォーム、データベースを作成し、認証を行うためにPHPで十分にコード化する方法を知っています。私が知らないのは、ユーザーが認証されていない場合、そのフォームにリダイレクトするようApacheに指示する方法です。

更新:他の認証モジュールを使用しても問題ありません。私は、IISフォーム認証に似たシステムを探しています。ユーザーがログインしていない場合、ディレクトリ内のファイルを訪れると、ログインフォームにリダイレクトされます。ログインすると、ディレクトリ内の任意のファイルを表示できます。

+0

はい、認証を行うPHP/Pythonの/どんな言語のスクリプトに、このディレクトリへのすべての要求を書き換えるには。このスクリプトは、ユーザーにアクセスが許可されている場合は要求されたファイルの内容を、それ以外の場合はログインフォームを表示します。 Apacheは認証について何も知らず、単にすべての要求を書き換えます。 –

+0

@DanGrossman - Apacheは.htaccessが動作するための認証とセッションについて知っていなければなりません。 – Justin808

+0

いいえ、あなたはそれをなぜ言っていますか? HTTP基本認証は完全にステートレスであり、サーバー上にセッションはありません。 –

答えて

1

擬似コードは次のとおりです。

if user authenticated: 
    read a file and output into browser (or return 404) 
else: 
    show the form 
end 

index.php.htmlファイルへのすべてのリクエストを書き換えるます.htaccessを次

RewriteEngine on 
RewriteCond %{REQUEST_URI} \.html$ 
RewriteRule \.html$ /index.php [QSA,L] 

あなたは$_SERVER['REDIRECT_URL']で要求さ.htmlファイル名を見つけることができます。

(既知のPHPフレームワークのほとんどはこのまたは類似のアプローチを使用しています。この中に空想何でもありません。)

関連する問題