我已经开发了一个Symfony2项目。我想在测试和开发过程中保护此项目密码。换句话说,我想对项目密码进行保护,直到对其进行完全测试,并已发布。有什么办法做到这一点吗?请帮忙。预先感谢。
如果我正确理解您要实现的目标是阻止用户以外的授权访问您的网站。您可以通过简单的HTACCESS密码保护来实现此目的。
它可以在要密码保护的目录中上传两个称为.htaccess和.htpasswd的文件。.htaccess文件应包含:
AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /path/to/.htpasswd
Require valid-user
您只需要更改"/path/.htpasswd"。
.htpasswd文件应包含:
test:dGRkPurkuWmW2
上面的代码将允许用户"测试"使用密码"测试"访问密码的proteced区域。文本" dgrkpurkuwmw2"是密码的加密版本。您将需要使用HTPASSWD发电机来创建另一个密码。.htpasswd文件中的每一行都包含一个用户名和密码组合,因此请随时添加尽可能多的组合。
密码生成器:http://www.htaccesstools.com/htpasswd-generator/
来源:http://www.htaccesstools.com/articles/password-protection/
对于Symfony2项目,您的新.htaccess文件应在Web目录中创建:
project/
-web/
您可以轻松地为每个环境以不同的方式配置安全组件。只需打开适当的配置文件,例如config_dev.yml
并添加/覆盖适当的安全配置,例如:
security:
providers:
my_provider:
memory:
users:
foo: { password: foo, roles: ROLE_USER }
firewalls:
your_firewall_name:
http_basic: ~
我通常为设置开发环境所做的工作是使用"私有"的子域。我的意思是没有DNS记录指向它。我在主机文件中添加了一条线,以使我的计算机可将其访问。如果我需要将其暴露于外部API(例如付款网关响应),则我创建DNS记录,但我配置了防火墙以接受某些IP地址。
请记住,如果您使用任何类型的身份验证(PayPal,信用卡付款网关...)将无法连接到您的网站,以便您无法对其进行测试。