2

dbアクセスなしでページをパスワードで保護することは可能ですか?数ページしかないかもしれません。ただし、パスワードを変更したり、セッションを保存したりできるはずです。また、本番サイトの場合と同じように安全な方法が必要です。

md5の後にconfig.phpに保存するにはどうすればよいですか?

 <?php
 username="admin"; 
 password="1a1dc91c907325c69271ddf0c944bc72";
 ?>

これが良い考えである場合、check.phpなどと呼ばれる1つのスクリプトからこのphpへのアクセスを制限する方法はありますか?

4

4 に答える 4

2

もちろん?アクセスできないディレクトリ(.htaccessで保護されているかwwwルートから保護されている)にあるフラットファイルを使用して、それをデータベースとして使用できます。

これが私が作成した簡単なログインクラスです。

class SimpleLogin {

    private $users;
    private $db = './pass.txt';

    function __construct() {
        $data = file_get_contents($this->db);

        if (!$data) {
           die('Can\'t open db');
        } else {
            $this->users = unserialize($data);
        }
    }

    function save() {
        if (file_put_contents($this->db, serialize($this->users)) === false)
            die('Couldn\'t save data');
    }

    function authenticate($user, $password) {
        return $this->users[$user] == $this->hash($password);
    }

    function addUser($user, $password) {
        $this->users[$user] = $this->hash($password);
        $this->save();
    }

    function removeUser($user) {
        unset($this->users[$user]);
        $this->save();
    }

    function userExists($user) {
        return array_key_exists($user, $this->users);
    }

    function userList() {
        return array_keys($this->users);
    }

    // you can change the hash function and salt here
    function hash($password) {
        $salt = 'jafo2ijr02jfsau02!)U(jf';
        return sha1($password . $salt);
    }

}

:実際のサーバーでこれを使用する場合は、エラー報告をオフにする必要があります。これは、error_reporting()file_get_contentsを呼び出すか、 andの前に「@」を追加することで実行できますfile_put_contents(つまり、次のようになります@file_get_contents

使用例: http: //left4churr.com/login/

于 2010-08-04T05:16:55.213 に答える
2

あなたはそれをするために使うべき.htaccessです。.htaccessまた、次のような賢明なphpファイルで保護することもできます。

Order Allow,Deny
Deny from All
于 2010-08-04T05:17:08.060 に答える
1

PHPでHTTP認証を使用できます。PHP-docuに存在する非常に良い例。

于 2010-08-04T05:16:30.073 に答える
0

実際、データベースはパスワード保護とは何の関係もありません。
ログインとパスワードをスクリプトに直接書き込むことも、データベースに保持することもできます。

PHPファイルへのアクセスを制限する必要はありません。HTTP経由で呼び出されるため、空白のページになり、それ以上のことはありません。

ですから、そのように保管しても大丈夫です。
データベースを使用しないサイトでも十分です。

于 2010-08-04T05:27:01.020 に答える