请注意,这是一个远程服务器,我无法访问它,只能访问FTP。我想用纯粹的PHP而不是.htaccess来做到这一点。有没有类似于.net的方式,在那里放置web.config文件,并设置谁可以访问它和他们的密码?如何使用PHP保护目录?
回答
我想说的是,在Apache上,web.config上的这种功能相当于使用.htaccess文件:PHP用于生成页面,但如果您尝试在目录级别工作,则必须检查在PHP甚至被调用之前来到。
在您的PHP脚本中,您可以访问HTTP身份验证的数据;参见$_SERVER
,特别是PHP_AUTH_USER
和PHP_AUTH_PW
;但保护将在文件的级别,而不是目录 - 显然,它只会对PHP文件执行(例如,不是在子目录中的映像)。
欲了解更多信息,你可以看一下,比如:HTTP Basic and Digest authentication with PHP
为整个目录做到这一点,正确的方法是用definitly htpasswd的/ .htaccess文件(或者直接在Apache的配置文件中)。
为什么使用PHP? .htaccess文件是为此目的而设计的。如果你想做一些事情,比如将用户登录存储在数据库中,请看看Mod_auth_mysql
你可以做的是将文件放在webroot之外,然后编写一个php脚本,以便在传递认证逻辑。
我认为很明显,如果他只有FTP访问服务器,那么他不能安装Apache mod – UnkwnTech 2009-07-22 05:25:40
据我所知,没有办法单纯在PHP中完成此操作。
如果你可以使用.htaccess,但不能上传它,那么我会建议通过PHP编写htaccess。
目录保护始终是Web服务器的工作。无论您在PHP脚本中做什么,Web服务器都有责任首先执行该脚本。如果您尝试访问目录中的另一个文件,则Web服务器将把它交给用户,甚至无需查看您的脚本。如果用户请求一个目录列表,它是将它交给用户的网络服务器。
如果您想要保护真实的“物理”目录,您必须正确配置网络服务器,最有可能使用.htaccess文件。
- 1. 如何保护从php访问目录?
- 2. 如何使用.htaccess保护目录?
- 3. php目录密码保护
- 4. .htaccess保护目录
- 5. 使用.htaccess密码保护目录
- 6. 使用.htaccess保护特定目录
- 7. 使用.htaccess保护目录的问题
- 8. 只使用htpasswd保护目录
- 9. 如何保护asp.net MVC中的目录?
- 10. 使用PHP身份验证密码保护整个目录
- 11. 如何使用加密保护Documents目录中的数据?
- 12. 如何使用htaccess保护codeigniter安装的子目录?
- 13. 在node.js中如何保护当前目录下的目录
- 14. 完全保护目录
- 15. 保护Symfony2中的目录
- 16. 用.htaccess密码保护目录
- 17. 如何保护Android项目
- 18. 如何保护PHP文件
- 19. 使用HTTPS登录到htaccess受保护的目录
- 20. 使用git来保护web项目目录
- 21. 如何从部署中保护Azure中的目标目录
- 22. php curl - 需要使用卷曲提供对受保护目录的访问
- 23. 在php/apache中使用身份验证脚本保护目录中的文件
- 24. 是否可以使用nginx confs + php身份验证来保护目录?
- 25. 用于密码保护目录的录制登录
- 26. 如何保护所有目录内容,但获得访问php脚本
- 27. 允许PHP脚本在受保护的目录中
- 28. 从网络访问保护目录
- 29. 检查目录是否受保护
- 30. “Index of ...”目录列表保护
用户的凭据是否存储在数据库中的任何位置?或者是否会有所有用户将用于访问目录的通用登录名? – inkedmn 2009-07-22 04:34:49