请注意,这是一个远程服务器,我无法访问它,只能访问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. 如何使用Apache/PHP保护未登录用户的目录
- 2. 如何保护从php访问目录?
- 3. 如何使用.htaccess保护目录?
- 4. php目录密码保护
- 5. 如何保护scripts目录
- 6. 保护htdocs目录
- 7. .htaccess保护目录
- 8. 只使用htpasswd保护目录
- 9. 使用.htaccess密码保护目录
- 10. 使用.htaccess保护特定目录
- 11. 使用.htaccess保护目录的问题
- 12. 使用.htaccess和.htpasswd保护目录
- 13. 如何保护目录中的文件?
- 14. Git:如何保护一个目录
- 15. 如何保护asp.net MVC中的目录?
- 16. 如何使用活动目录组保护Web应用程序?
- 17. 如何保护inputfield用PHP
- 18. ActionScript - 从密码保护目录(.htaccess)使用PHP加载资产?
- 19. 使用PHP身份验证密码保护整个目录
- 20. 如何使用session_start();“保护”php页面?
- 21. 如何使用htaccess保护codeigniter安装的子目录?
- 22. 如何使用加密保护Documents目录中的数据?
- 23. 在node.js中如何保护当前目录下的目录
- 24. 保护Symfony2中的目录
- 25. 保护Laravel根目录
- 26. Nginx - 密码保护目录
- 27. 图片保护目录
- 28. 高级目录保护
- 29. 完全保护目录
- 30. 用.htaccess密码保护目录
用户的凭据是否存储在数据库中的任何位置?或者是否会有所有用户将用于访问目录的通用登录名? – inkedmn 2009-07-22 04:34:49