跳转到主要内容
一路上有亮 提交于 8 March 2012

原文链接:http://drupal.org/node/328241

 

摘要式身份验证避免传输交换字符串(摘要)证明用户和Web服务器都知道密码的密码。这就要求存储在服务器上为所有用户的密码。这是非常重要的,以确保这些密码不能暴露给未经授权的用户。Drupal的应该是能够存储密码而无法找回它们。

安全网站提供了可以处理存储密码的安全,当正确设置的脚本。这些脚本载在digest_md5目录的。在这个目录有两个脚本:

stored_pa​​sswords.php
添加,删除和更新用户密码。
digest_md5.php
执行摘要式身份验证。

你可以得到帮助这些脚本其次键入脚本的名称-在命令行上的帮助。你必须能够运行PHP的命令行。需要一些配置,以使脚本正常工作:

  1. 建立一个安全的数据库

    您可以设置在相同的方式创建一个Drupal数据库密码数据库。你的密码数据库,应该有它自己的用户。没有其他的数据库用户应该有访问数据库的密码。

  2. 编辑配置文件

    脚本的配置设置的digest_md5.conf.php文件digest_md5目录。你必须设置$ db_url指向您的密码数据库。如果您希望能够使用命令行脚本,你必须设置的Drupal你的Drupal安装的绝对路径。当您完成编辑配置文件,使其只读。

  3. 访问控制脚本

    可以做,以确保脚本的第一件事是,移动digest_md5目录到一个位置,是不是从Internet访问。配置文件,特别是需要保护,因为它包含的信息,允许访问密码数据库。在安全的网站设置页,更改的摘要式身份验证脚本和密码存储脚本指向新的位置。例如,如果你提出digest_md5目录的/ usr /本地,您可以使用

     

    /usr/local/digest_md5/digest_md5.php /usr/local/digest_md5/stored_passwords.php

    sudo 命令是如果您的系统上,你可以改变中的所有文件digest_md5目录的文件系统权限,以便只有陈维礼访问它们。然后,您可以添加用户到你的Web服务器运行的sudoers文件。在digest_md5目录比较提供一个样品的sudoers文件。重要的线

     

    Defaults:apache !authenticate Defaults:apache !lecture apache ALL=/usr/local/digest_md5/stored_passwords.php [A-z]* apache ALL=/usr/local/digest_md5/digest_md5.php [A-z]*

    这使得Apache使用 sudo 只运行stored_passwords.phpdigest_md5.php的。取代Apache的系统上的Web服务器的用户名,和替换的/ usr /本地的目录中放置digest_md5目录。安全站点设置“页面上,添加须藤行的摘要式身份验证脚本和密码存储脚本的开头:

     

    sudo /usr/local/digest_md5/digest_md5.php sudo /usr/local/digest_md5/stored_passwords.php

    如果您的系统的其余部分是安全的,Drupal可以存储密码,而不必检索它们的能力。