84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
ThinkPHP5版本中和Laravel相同,都是把入口文件放到Public中,官方文档中只是简略说明更安全,但我没搞明白究竟是那些情况会更安全,求大神指教、O(∩_∩)O谢谢
小伙看你根骨奇佳,潜力无限,来学PHP伐。
把入口文件放在public目录下,形成单入口通道,这样除了你的入口文件index.php之外,其他所有的php文件都是不可以被浏览器直接访问到的,这样规避了一些恶意的请求。
能访问到的都是public目录下的文件,不存在其他源文件
提高目录安全性,绑定public目录后,除了 public 目录内的资源可以通过域名和IP的形式直接访问,其他目录无法直接访问。
tp3.. 入口文件和项目是在同一级目录下,webserver不就把所有文件都暴露出去了
这个跟服务器环境又关系。无论你用apache还是ngnix的时候,设置root虚拟根目录的时候,如果index.php是public文件夹下面,那么服务器软件只会让外部只能访问到public下面的所有东西,而public外层的所有东西都是不可以在外部访问(这个是linux对apache或者nginx的权限限制问题)。另外有些人喜欢把upload放到public文件下面,其实这个安全性也是不够的,正确的应该是放到项目根目录,然后在public下面创建文件夹的软连接,还有设置upload文件夹不可以执行任何动态语言。这个和单一入口这个技术点没有关系。因为tp5你可以设置很多个入口问题。复制index.php就可以了。
安全了是因为不把其他php文件放在同一个目录下
把入口文件放在public目录下,形成单入口通道,这样除了你的入口文件index.php之外,其他所有的php文件都是不可以被浏览器直接访问到的,这样规避了一些恶意的请求。
能访问到的都是public目录下的文件,不存在其他源文件
提高目录安全性,绑定public目录后,除了 public 目录内的资源可以通过域名和IP的形式直接访问,其他目录无法直接访问。
tp3.. 入口文件和项目是在同一级目录下,webserver不就把所有文件都暴露出去了
这个跟服务器环境又关系。无论你用apache还是ngnix的时候,设置root虚拟根目录的时候,如果index.php是public文件夹下面,那么服务器软件只会让外部只能访问到public下面的所有东西,而public外层的所有东西都是不可以在外部访问(这个是linux对apache或者nginx的权限限制问题)。另外有些人喜欢把upload放到public文件下面,其实这个安全性也是不够的,正确的应该是放到项目根目录,然后在public下面创建文件夹的软连接,还有设置upload文件夹不可以执行任何动态语言。
这个和单一入口这个技术点没有关系。因为tp5你可以设置很多个入口问题。复制index.php就可以了。
安全了是因为不把其他php文件放在同一个目录下