【发布时间】:2017-09-09 20:38:12
【问题描述】:
我在 laravel 中开发了一个网站,但问题是如果有人知道文件的名称,他可以直接访问我不想要的网站文件
JobScholar
app
Exceptions
Http
Mail
Models
Permission.php
Providers -
Role.php
User.php
.env
etc etc
应用程序工作正常,但如果用户输入我想要什么
http://localhost:8080/JobScholar/app/
or
http://localhost:8080/JobScholar/User.php/
他应该重定向到家庭控制器或看到错误消息
我的 .htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
Options -Indexes
ErrorDocument 403 http://localhost:8080/JobScholar/index
Options +FollowSymLinks
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /JobScholar/$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
## Don't listing directory
#Options -Indexes
#
## Follow symbolic links
#
#
## Default handler
#DirectoryIndex index.php
我不希望用户访问任何文件或directory,他可以看到的唯一目录和文件只是那些定义了routes 的目录和文件
【问题讨论】:
-
如果您的应用程序的
public/dir 以外的任何内容都可以访问,则您的虚拟主机配置不正确。 laravel.com/docs/5.4/installation#configuration