简体   繁体   中英

How can i restrict the image Folder using .htaccess in codeigniter

i had codeigniter project that contain the image folder and i want to make it unreachable from direct url access suppose some one enter url

http://localhost/project/images/Pricelistupdated.pdf

then it will be directly open in browser tab without login so i want to make it disable . when user login and click on download link only that time file will be download and open in new tab . either it can not open when anyone enter direct url in browser i used following

RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?projects/project/ [NC] 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?projects/project/.*$ [NC] 
RewriteRule \.(pdf|PDF|jpg|png|gif|PNG)$ - [F]

but this code also disable the download and open in new tab functionality

If you create a extra folder that can't provide codeigniter framework by default.

Step-1

  • create a .htaccess file in project root directory.

Step-2

save this code in the htaccess file that provide in bellow:

<IfModule mod_rewrite.c>
Options -Indexes
RewriteEngine on
RewriteBase /Project_name/
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
</IfModule>

Step-3

  • if already exist htaccess file in root. just add the line of code in your old .htaccess file. as per follow Step-2 example

    Options -Indexes

Now check it.

You should follow this link How to restrict access to files in a folder in codeigniter

As post described, you need to deny all direct access to your files and read it through controller while user is logged in using authentication.

Very Simple! You can try this! Just create an htaccess file with below code:-

Options -Indexes

Keep this file into your image folder. Then Check..

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM