あなたは、Apache使用している場合 - バージョン2.4(それは私が現在使用しているものだ原因)
認証
誰もがあなたのページへのアクセスを得る前に、あなたはログインを設定することができます。 Apacheのフォルダ>ビン> htpasswdのに
ゴー - ターミナル
から開くhtpasswdは、これはあなたがパスワードファイルが作成されます初めての場合:次に、ユーザーのパスワードを入力します
htpasswd -c /dir username
を。
これまでにパスワードファイルを作成していた場合は、-c
フラグを削除するだけです。
次に、あなたの.htaccess
ファイルには、次のように入力します。
AuthType BasiC#Type of authentication used
AuthName "This is a private area, please Log In!" #Your Login Text
AuthUserFile "C:\Apache24\Password.txt" #In which your password file is stored.
AuthGroupFile /dev/null
require valid-user
それとも、あなたはhttpd.conf
にそれをしたい場合:
今
<Location "/protected-area">
AuthUserFile "C:\Apache24\Password.txt"
AuthName "This is a private area, please Log In!"
AuthGroupFile /dev/null
AuthType Basic
Require valid-user
</Location>
を、誰もが自分のページに行けば、彼らはログインするように求められます。
ログイン
有効なユーザーにアクセスできるようにログインページを設定できます。
これはあなたのDirectoryIndex
Login.php
に設定された「Login.php」
まず、のようなファイルを作成します。この場合のように、「認証」とは異なり、または任意のファイル名に設定しますログインページ。
次に、ログインページを作成します。welcome.php
で
<?php
$err = '';
if (isset($_POST['login']) && !empty($_POST['username']) && !empty($_POST['password'])) {
if ($_POST['username'] == 'user' && $_POST['password'] == '123456') {
$_SESSION['valid'] = true;
$_SESSION['timeout'] = time();
$_SESSION['username'] = 'user';
header('Location: Welcome.php');
} else {
$err = 'Wrong username or password';
}
}
?>
:
<?php echo htmlspecialchars($_SERVER[PHP_SELF]); ?>
<head>
一部でPHP:
がアクセスからユーザーを防ぐために、あなたの<form>
で
は、action
属性に設定しましたログインしていない "Welcome.php":
<?php
if(isset($_SESSION['valid']) && $_SESSION['valid'] == true) {
echo "You are logged in!";
} else {
header("Location: Login.php");
}
?>
...私はこのことについてはよく分からない
<Directory ~ "\.private">
Order allow,deny
Deny from all
</Directory>
をアクセス
を拒否書き換えルール
RewriteRule ^(.*/)?\\.private/ - [F,L]
リダイレクト
RedirectMatch 404 /\\.private(/|$)
サーバーで使用でき、HTTPパスワードで保護されていないファイルは、常に公開されています。ただし、 '.htaccess'ファイルを編集して、特定のファイルやパスへのアクセスをブロックまたはリダイレクトすることができます。 – klaar
Webサーバーからファイルを入手できないようにしたい場合、あなたがやっているようにWebルートの外に置くことは、完璧なソリューションIMOです。ちなみに、現在のセッション(ログイン/ログインしていない/ユーザーレベルなど)に基づいてオプションでメニューオプションを構築するmenu.phpファイルもあります。 – jeroen