如何在codeigniter中保护ASSETS FOLDER

时间:2017-07-26 06:29:14

标签: php .htaccess codeigniter mod-rewrite

我只想保护客户端的资产文件夹。我的所有文件都可以访问公共。我想保护它。我有下面的规则.htaccess,那里有任何错误的规则吗?

RewriteEngine on
RewriteCond $1 !^(index\.php|assets|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]

3 个答案:

答案 0 :(得分:3)

你可以做两件事

  1. 通过.htaccess(未经测试)
  2. 通过index.html
  3. 1。 htaccess的

    在资产文件夹

    中添加.htaccess
    <IfModule authz_core_module>
        Require all denied
    </IfModule>
    <IfModule !authz_core_module>
        Deny from all
    </IfModule>
    

    2。的index.html

    在目录中创建index.html文件并添加此

    <!DOCTYPE html>
    <html>
    <head>
        <title>403 Forbidden</title>
    </head>
    <body>
    
    <p>Directory access is forbidden.</p>
    
    </body>
    </html>
    

    输出

    当有人在外面访问时,你会在浏览器上看到它

      

    禁止访问目录。

答案 1 :(得分:0)

创建帮助程序以访问这些资产&#39;。并且仅允许从您的服务器请求这些文件。这是解决这个问题的一种方法。

答案 2 :(得分:0)

您可以保护assets或文件夹,就像CI保护其应用程序文件一样。 只需从应用程序中复制.htaccess文件和index.html文件,然后将其粘贴到资产文件中即可。