我知道公共文件夹是有原因的,但我必须在共享主机上传一个laravel项目,我无法访问服务器以将主机根目录更改为public_html/public
所以它必须从public_html
所以我已经将index.php和htaccss从公共移动到root并且工作正常,但现在任何人都可以直接访问项目文件模型/控制器/等....我不确定它是否已经过了有害,但我知道它不是超级安全!
这样做安全吗?获得vps旁边的其他选择?
请注意我只是一个程序员而且我决定在哪里上传项目所以请求不要谈论这些天获得vps的便宜和容易!
答案 0 :(得分:1)
1 - 将所有项目文件夹放在单独的文件夹中,如laravel
2 - 在public_html之前移动laravel文件夹,以便无法访问
3 - 将所有文件从公共文件夹移动到项目根目录(public_html),然后删除公用文件夹
4 - 编辑index.php将../lavel添加到路径
答案 1 :(得分:0)
要回答你的问题,不。这不安全。根据服务器的设置方式,恶意用户可能能够将PHP文件作为文本文件下载并读取它们......包括数据库密码和SQL查询结构等内容。那很糟糕。网络编程的公理是“永远不要信任任何人,甚至不信任你自己。”#34;这包括您的服务器设置。最佳做法是将所有主要PHP文件移到Web根目录之外。
如果你不能这样做,你唯一的选择是将所有文件推到网络根目录中的一个级别(例如/web_root/secure_directories/.
)并使用.htaccess
阻止除了localhost之外的所有人查看目录。您的.htaccess
文件如下所示:
order deny,allow
deny from all
allow from 127.0.0.1
理论上,如果你所有的主要PHP文件都在一个子文件夹中(可能包含更多子文件夹),那么你只需要为" top"文件夹中。
请注意,访问Web根目录以外的目录非常理想,因为.htaccess
功能会降低服务器速度。如果你没有很多访问者,那就不值得注意了......但是当你这么做的时候就会出现这种情况。
答案 2 :(得分:0)
在根文件夹中,您只需要重命名文件
server.php
到
index.php