为什么CodeIgniter应用程序文件位于public_html文件夹中?

Mat*_*hew 7 php apache security codeigniter

是不是公共视图中的所有文件都是坏事?

当然,诸如/system/application/config/database.php之类的内容不应公开显示!

Jon*_*ley 26

CodeIgniter的开发人员EllisLabs以这种方式设置了框架以便于使用.这意味着希望尝试框架的人不必在其服务器上摆弄任何权限设置.

当然在生产服务器上,你是绝对正确的,将你的PHP文件放在公共HTML文件夹中并不是一个好主意.

组织文件夹的更好方法是:

    • code_igniter
      • application_folder
        • 配置
        • 控制器
        • 楷模
        • ...
      • system_folder
    • 的public_html
      • CSS
      • JS
      • 图像index.php .htaccess

这里唯一的其他变化是将index.php的第26行更改为:

$system_folder = "../../code_igniter/system-folder";
Run Code Online (Sandbox Code Playgroud)

  • 使用此设置,您还需要更改index.php中的$ application_folder (2认同)

Cor*_*lou 6

您可以将以下规则添加到.htaccess文件中,以进一步保护系统和应用程序目录不被查看(发送403 Forbidden错误):

# Protect application and system files from being viewed
RewriteRule ^(application|system) - [F,L]
Run Code Online (Sandbox Code Playgroud)