我的开发电脑(Windows 10)上安装了 Apache2.4
查看我的 Apache24\logs\access.log 文件,我注意到以下可疑条目:
www.-----.com - - [01/Jan/2018:10:45:19 -0200] "GET /SOME-PERSONAL-DEV-PROJECT/admin/ HTTP/1.1" 200 21061
www.-----.com - - [02/Jan/2018:07:04:00 -0200] "GET /phpmyadmin/sql.php?server=1&db=-----&table=-----&pos=0&token=ea
www.-----.com - - [02/Jan/2018:07:04:01 -0200] "GET /phpmyadmin/sql.php?server=1&db==-----&&table==-----&&pos=0&token=ea
www.-----.com - - [02/Jan/2018:07:04:08 -0200] "GET /phpmyadmin/index.php?ajax_request=1&recent_table=1&token=ea
我在本地主机上有“phpmyadmin”,另外“SOME-PERSONAL-DEV-PROJECT”是我的本地主机中的另一个文件夹,用于个人网络开发工作。
“www.-----.com” 是一个知名的广告网络域名,我知道它们与一些可疑的东西有关。
所以在我的 httpd.conf 文件中我有以下配置规则:
<Directory "c:/htdocs">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options Indexes Includes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Require local
</Directory>
据我了解,“需要本地”将阻止任何非本地主机能够向本地计算机中的文件发出请求
所以我的问题是,为什么这个域名显然能够成功从我的本地开发机器访问文件?
答案1
我个人会让 Apache 只监听本地主机 IP 地址 (127.0.0.1),您的配置中可能有这样的一行:
Listen 80
或者
Listen *:80
将其更改为
Listen 127.0.0.1:80
阅读更多内容Apache 文档就此主题而言。
日志消息的另一种可能性可能是,您的 127.0.0.1 IP 地址解析为 www.......com,只需检查您的主机文件或尝试nslookup 127.0.0.1
其他方法进行反向 DNS 搜索,我不是 Windows 用户所以我可能输入了错误的命令。
如果 127.0.0.1 解析为该名称,则您自己的请求将会被记录下来。
答案2
这些日志显示了您对 Web 服务器的请求。
我们从您的评论中看到您说您已将其添加127.0.0.1 www.-----.com
到 Windows hosts 文件中。
不幸的是,您已将 Apache 配置为在记录 IP 地址之前对其进行反向 DNS 查找。您的 Apache 配置中的某处是:
HostnameLookups On
127.0.0.1
因此, Apache不会记录,而是记录www.-----.com
,因为当它在 127.0.0.1 上执行主机名查找时,该名称是由 hosts 文件提供的。
将其更改为Off
,您的日志将再次显示正确的 IP 地址。