i want to block access to folder and its content php - php

i got folder called recordings on my server and i want to block access from anyone to it and its content and at the same time i want the ability to call the files inside the folder from other pages
i tried htaccess rule
Options -Indexes
its just block access to the folder but when i write specific file inside the folder the browser open it and i do not want that
and i tried another htaccess rule :
deny from all
but it make me not able to call the files on other pages and i want to be able to call them
so can anyone help me ?

Use below rule,
<Files ~ "*.php">
order deny,allow
deny from all
allow from 127.0.0.1
</Files>

Related

How to hide the root page from public

I have a php website and i have pages like
xyz.com/cat/page1.html
xxyz.com/cat/page2.html
Now I want to restrict this page xyz.com/cat/ from the visitors. How do I achieve this using .htaccess?
If you hide the root directory, then no one will be able to access anything in that folder including images and other media. Yes create an .htaccess file inside the directory you wish to deny access to. Enter the following:
order allow,deny
allow from 127.0.0.1
deny from all

Stopping direct file access using URL

I am using laravel,
In browser If I directly give the URL as below :
http://....../resources/views/users/index.blade.php
It will show the page as below :
.
I can't show page to public as above image.
How can I block access to particular folder or files ?
You need to edit/create .htaccess file of the directory you want to prevent the direct access from people.
As per the solutions given here :
Solutions - 1
I would just move the includes folder out of the web-root, but if you want to block direct access to the whole includes folder, you can put a .htaccess file in that folder that contains just:
deny from all
That way you cannot open any file from that folder, but you can
include them in php without any problems.
Solution - 2
It's possible to use a Files directive and disallow access to all
files, then use it again to set the files that are accessible:
<Files ~ "^.*">
Deny from all
</Files>
<Files ~ "^index\.php|css|js|.*\.png|.*\.jpg|.*\.gif">
Allow from all
</Files>
Also, You can Refer to Article : How to Prevent a Directory Listing of Your Website with .htaccess

prevent direct URL access to php and html pages via .htaccess

I know direct URL access can be prevented via .htaccess rules but I don't know much about meta-chars or escaping.
these are the files in my xammp/htdocs folder, accessed using
localhost:
index.php
createScheme.php
several someother.php
I want direct access to be enabled only for index.php and createScheme.php and all others pages should be blocked against direct access.
Please help!
This .htaccess file will only allow users to open index.php. Attempts to access any other files will result in a 403-error.
Order deny,allow
Deny from all
<Files "index.php">
Allow from all
</Files>
If you also want to use authentication for some of the files, you may simply add the content from your current file at the end of my example.

Deny access to all PHP files in a directory using .htaccess

I'm attempting to deny access to anyone surfing for PHP files in a specific directory:
example.com/inc/
I've created an example.com/inc/.htaccess file with the contents:
Order deny,allow
Deny from all
This results in a 403 Forbidden response when I try to access one of the files. For example: example.com/inc/file.php
The problem is, my web server is also denied access and my application stops working.
How can I deny access to people surfing for such PHP files but allow my shared web server access?
Note: I'm using GoDaddy shared hosting.
I would would just use a rule and block the access that is entered by the user. This will block any php file that is entered.
RewriteEngine On
RewriteRule ^.*\.php$ - [F,L,NC]
Edit based on your comment. Try this way.
<Files (file|class)\.php>
order allow,deny
deny from all
allow from 127.0.0.1
allow from 192.168.0.1
</Files>
Replace 192.168.0.1 with your server IP address.
Use proper directory structure put your files to lib/ directory for example and include them from file which is not present in this directory. This is how common frameworks works.
You can even map your url to web/ directory and put lib one directory up then you are sure that there is no access to your .php file but only index.php and assets.
You can read how it is solved for example in Symfony2 http://symfony.com/doc/current/quick_tour/the_architecture.html it'll give you some clues.
To block navigation access to all files ending in .php you can use:
RedirectMatch 403 ^.*\.php$
To only deny access to php files you can use this:
<Files *.php>
order allow,deny
deny from all
</Files>

Restricting access to a web directory using .htaccess

I want to restrict access to certain web directories in my website using .htaccess file. I know one way using
order allow,deny
deny from all
But it restricts only the first directory. It doesn't work for the remaining ones. Please help
You are wrong, using deny from all also applies to subdirectories.
i.e. unless there is another .htaccess inside the other sub directories that allows the access
Options -Indexes add this line at the top of the .htaccess file

Categories