84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
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文件放在同一个目录下