2016-06-23 9 views
0

Ich habe versucht, meine CodeIgniter-Dateistruktur zu ändern, um sie sicherer und sauberer zu machen, aber ich kann sie nicht zum Laufen bringen. Ich möchte die Anwendung/System und die öffentlichen Dateien, die für Benutzer sichtbar sein werden, trennen.Separater CodeIgniter Öffentlicher Ordner

- application 
- system 
- public 

Es funktioniert, aber ich habe

example.com/public/index.php oder example.com/public/controller

ich in der Lage sein wollen, zu geben Sie einfach Geben Sie die Basis-URL wie example.com/controller ein.

Wie kann ich es tun?

+0

'public' wäre einfach der Ordner' www' root oder 'public_html'. Dann werden 'system' und' application' außerhalb des 'www' root installiert. – Sparky

+0

Ich verwende ein Shared Hosting. Der Pfad zu meinem CI-Verzeichnis lautet/var/www/myfolder /. Ich weiß nicht, ob ich das wirklich tun sollte, aber ich habe gelesen, dass es nicht sicher ist, die Ordner nicht zu trennen. – noeyeat

+0

Wo hast du das gelesen ?! Die offizielle Dokumentation besagt ausdrücklich, dass Sie * die Ordner 'application' und' system' ** oberhalb ** des 'www'-root setzen sollten. Dies garantiert praktisch, dass die Öffentlichkeit sie niemals sehen wird, auch wenn die .htaccess-Dateien fehlschlagen. – Sparky

Antwort

0

Sie können eine Ordnerstruktur wie folgt erstellen.

/var/www/application/ 
/var/www/system/ 
/var/www/myfolder/ //this would be your public folder 

Ein wichtiger Grund, warum es sicherer ist, dass, wenn php nicht Ihre Konfigurationsdateien arbeiten, werden nicht ausgesetzt werden.

+0

Ich kann es nicht so machen, ich habe keine Administratorrechte, um Ordner außerhalb von 'Mein Ordner' anzulegen. – noeyeat

+0

Dann können Sie die Ordner in keiner Weise trennen, die Ihnen mehr Sicherheit geben. – hcoat

0

As per the CodeIgniter Installation Instructions ...

/var/application/ 
/var/system/ 
/var/www/index.php 

Für die beste Sicherheit, sowohl die System und alle Anwendungsordner sollten so über Web-Root platziert werden, dass sie über einen Browser nicht direkt zugänglich sind. Standardmäßig sind .htaccess Dateien in jedem Ordner enthalten, um den direkten Zugriff zu verhindern, aber ist es am besten, sie vollständig aus dem öffentlichen Zugriff zu entfernen, falls sich die Webserverkonfiguration ändert oder nicht von .htaccess eingehalten wird.