.htaccess deny all,包括htaccess文件和显示404 -我该怎么做?

iaqfqrcu  于 2023-08-06  发布在  其他
关注(0)|答案(4)|浏览(74)

如何在我的.htaccess文件中为我的文档根目录中的特定目录执行此操作?:
1.拒绝对任何内容的所有访问(包括.htaccess)
1.返回一个404,而不是一个403错误
1.没有文件或子目录应该是可访问的或检测的人类或机器人
1.只允许本地主机的php访问
看起来很简单。这可以工作,但抛出403而不是404:

deny from all

字符串

mitkmikd

mitkmikd1#

为什么不创建一个自定义错误页面?

deny from all
ErrorDocument 403 /error/404.html

字符串
服务器总是希望抛出一个403错误,如果有人没有被授权查看该页面,这就是你试图做的。但是,您可以更改错误403的ErrorDocument,以显示一个HTML页面,* 说 * 这是一个404错误。
我的示例在根目录下有一个名为error的文件夹,其中有一个名为404.html的html文件。

mznpcxlj

mznpcxlj2#

你试过这样的东西吗?当有人试图查看目录中的任何内容时,这将强制出现403 Forbidden错误。PHP脚本仍然可以访问目录中的所有内容。很明显,将DIRECTORY替换为您的首选目录。
第一个月

rur96b6h

rur96b6h3#

我不喜欢发送一些html页面,说这是一个404错误时,真的只是一个html页面,也可能位于Iamafake404error.html
你可以试试这个:

Order Deny,Allow
Deny from all
Allow from 1.2.3.4

ErrorDocument 403 /throwaREAL404error.html
ErrorDocument 404 /throwaREAL404error.html
ErrorDocument 500 /throwaREAL404error.html

### never deliver .git folders, .gitIgnore
RewriteRule ^(.*/)?\throwaREAL404error.html+ - [R=404,L]

# 2nd line of defense (if no mod_rewrite)
RedirectMatch 404 ^(.*/)?\throwaREAL404error+

字符串
https://serverfault.com/a/510951/194845

pdkcd3nj

pdkcd3nj4#

将一个.htaccess文件放置在要阻止的子目录中,其中包含以下内容。

  • 这会将所有内容重写为404错误页面,使任何文件或子目录无法访问,并显示错误404页面。
  • PHP仍然可以访问它;您可以要求或包含内容。
RewriteEngine On
RewriteRule .* - [R=404,L]

字符串

相关问题