2017-01-04 1 views
1

Ich bin ziemlich neu in Laravel PHP Framework. Ich hatte ein Projekt und bin erfolgreich fertiggestellt und jetzt ist es in Produktion (Online-Server). Aber heute habe ich gesehen, dass jeder auf das Basisverzeichnis der Site zugreifen kann, indem er einfach einen Schrägstrich zum Suchstring und Ordnernamen hinzufügt.Basisverzeichnis meiner Website ist zugänglich und das ist öffentlich, wie vor der Öffentlichkeit zu verbergen?

Zum Beispiel, wenn jemand wie dieser Typ

www.mywebsite.com

die Seite korrekt funktioniert und alle Benutzerzugriff arbeiten.

aber, wenn jemand geben ähnliche

www.mywebsite.com/pages

Sie alle meine Seiten im Ordner gespeichert sind, zugreifen können. Alle PHP-Dateien, die geheim sind und nicht öffentlich angezeigt werden dürfen. Tatsächlich speichere ich einige Seiten in den Ordnern (Seiten).

Dies ist ein Screenshot. Anzeigen von Dateien in dem Verzeichnis, das nicht öffentlich ist.

enter image description here

Ich weiß, ich bin ein kleines, was noch fehlt, aber ich weiß nicht, wie das zu bekommen.

+0

funktioniert hoffen Wenn Sie mit Laravel, die einzige PHP-Datei, die Sie in der Öffentlichkeit haben sollte, ist index.php. Abgesehen davon sollten Sie Routen, Controller und Ansichten verwenden. – Devon

+0

Mögliches Duplikat von [Zugriff auf einen bestimmten Ordner in .htaccess verweigern] (http://stackoverflow.com/questions/19118482/deny-access-to-one-specific-folder-in-htaccess) – Devon

+0

Was ist in Ihrer 'public/.htaccess'? – martindilling

Antwort

1

Legen Sie eine 404.blade.php Datei in Ihrem Ressource/views/Ordner Fehler

, wenn sie nicht Auto Verzeichnis Index von Ihrem Hosting funktioniert dann stoppen.

Sie können versuchen, diese .htaccess Auto Index zu verhindern

IndexIgnore * 

ich es

0

wo ist Ihre index.php Datei? Setzen Sie index.php in den öffentlichen Ordner. Auch .htaccess sollte mit entsprechenden Einstellungen dort sein.

+0

index.php ist in Öffentlichen Ordner und.htaccess ist Optionen -MultiViews RewriteEngine On # Redirect folgende Schrägstriche Wenn kein Ordner ... RewriteCond% {REQUEST_FILENAME}! -d RewriteRule^(. *)/$/$ 1 [L, R = 301] # Griff Front Controller ... RewriteCond% {REQUEST_FILENAME}! -d RewriteCond% {REQUEST_FILENAME}! -f RewriteRule^index.php [L] # Handle Authorization Header RewriteCond% {HTTP: Autorisierung}. RewriteRule. * - [E = HTTP_AUTHORIZATION:% {HTTP: Autorisierung}]

Verwandte Themen