使用URL停止直接文件访问

时间:2017-03-22 05:42:57

标签: php laravel .htaccess

我正在使用laravel, 在浏览器中如果我直接给出如下URL:

http://....../resources/views/users/index.blade.php

它将显示如下页面:

enter image description here

我无法像上面的图片那样向公众展示页面。

如何阻止访问特定文件夹或文件?

2 个答案:

答案 0 :(得分:2)

您需要编辑/创建您想要阻止人们直接访问的目录的.htaccess文件。

根据给出的解决方案here

解决方案 - 1

  

我只是将includes文件夹移出web-root,但是如果要阻止对整个include文件夹的直接访问,可以将.htaccess文件放在包含以下内容的文件夹中:

deny from all
     

这样你就无法打开该文件夹中的任何文件,但你可以   将它们包含在PHP中没有任何问题。

解决方案 - 2

  

可以使用Files指令并禁止访问所有   文件,然后再次使用它来设置可访问的文件:

<Files ~ "^.*">
  Deny from all
</Files>

<Files ~ "^index\.php|css|js|.*\.png|.*\.jpg|.*\.gif">
  Allow from all
</Files>

另外,您可以参考文章:How to Prevent a Directory Listing of Your Website with .htaccess

答案 1 :(得分:0)

一种解决方案是将两个变量刷新到会话中:

  • 消息本身
  • 警报的“类别”

例如:

Session::flash('message', 'This is a message!'); 
Session::flash('alert-class', 'alert-danger'); 

然后在您看来:

@if(Session::has('message'))
<p class="alert {{ Session::get('alert-class', 'alert-info') }}">{{ Session::get('message') }}</p>
@endif

也可以

<Files ~ "/directory*">
  Deny from all
</Files>