这可能已经被问到并回答了,因为我不确定用什么最好的措辞。
我想确保搜索蜘蛛程序不会索引我网站的管理员。不幸的是,如果我将路径放入robots.txt文件中,那么我将移交给cookie罐。幸运的是,它已被锁定。
我已经有很多“访问者”,他们首先抓起了robots.txt。显然,非合法蜘蛛会忽略robots.txt,但我想阻止Google和Bing在搜索结果中粘贴我的管理目录。
我不确定是否应该将admin目录放置在robots.txt中-一方面,合法的蜘蛛会忽略该目录,但是另一方面,我告诉那些想伤害该目录的人,而且我不想窥视...
答案 0 :(得分:1)
我想确保搜索蜘蛛程序不会索引我网站的管理员。不幸的是,如果我将路径放入robots.txt文件中,那么我将移交给cookie罐。幸运的是,它已被锁定。
您正确地认识了难题。如果您将管理网址放置在robots.txt中,那么行为端正的漫游器将远离您。另一方面,您基本上是在向软弱的人发送电报。
如果您检查Web服务器的访问日志,则很可能会看到很多对管理员类型页面的请求。例如,查看我一台服务器上的apache日志,我看到机会主义的脚本小子正在搜索wordpress,phpmyadmin等:
109.98.109.101 - - [24/Jan/2019:08:48:36 -0600] "GET /wpc.php HTTP/1.1" 404 229 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0)"
109.98.109.101 - - [24/Jan/2019:08:48:36 -0600] "GET /wpo.php HTTP/1.1" 404 229 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0)"
109.98.109.101 - - [24/Jan/2019:08:48:37 -0600] "GET /wp-config.php HTTP/1.1" 404 229 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0)"
109.98.109.101 - - [24/Jan/2019:08:48:43 -0600] "POST /wp-admins.php HTTP/1.1" 404 229 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
109.98.109.101 - - [24/Jan/2019:08:50:01 -0600] "GET /wp-content/plugins/portable-phpmyadmin/wp-pma-mod/index.php HTTP/1.1" 404 229 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36
109.98.109.101 - - [24/Jan/2019:08:48:39 -0600] "GET /phpmyadmin/scripts/setup.php HTTP/1.1" 404 229 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0)"
109.98.109.101 - - [24/Jan/2019:08:48:39 -0600] "GET /phpmyadmin/scripts/db___.init.php HTTP/1.1" 404 229 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0)"
109.98.109.101 - - [24/Jan/2019:08:49:35 -0600] "GET /phpmyadmin/index.php HTTP/1.1" 404 229 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36"
109.98.109.101 - - [24/Jan/2019:08:49:47 -0600] "GET /admin/phpmyadmin/index.php HTTP/1.1" 404 229 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36"
109.98.109.101 - - [24/Jan/2019:08:49:47 -0600] "GET /admin/phpmyadmin2/index.php HTTP/1.1" 404 229 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36"
我的访问日志中有成千上万个。 Bot一直在搜索它们,并且 none 这些文件都列在我的robots.txt文件中。您可能会猜到,除非您拥有一个真正随机命名的管理URL,否则坏人很可能会猜测其名称为/ admin。
我已经有很多“访问者”,他们首先抓起了robots.txt。显然,非合法蜘蛛会忽略robots.txt,但我想阻止Google和Bing在搜索结果中粘贴我的管理目录。
我强烈建议您花一些时间禁止不良的bot或基本上禁止使用的bot。想到了AHrefsBot和SemRushBot。找到bad bot lists并不难,但您需要评估找到的任何列表,以确保它不会阻止要提供服务的机器人。除了在robots.txt文件中添加排除规则之外,您还应该配置应用程序以发送403禁止或404消失或other HTTP response code of your choice来禁止恶意的bot。
最后,记住“ security by obscurity不是安全性”这一格言至关重要。 Kerckhoff's Principle是加密和安全性最重要的原则之一,即“敌人知道系统”。您的网站不应仅依赖于晦涩或机密的管理URL的位置。您必须需要身份验证,并在身份验证代码中使用合理的最佳做法。我不会依赖apache身份验证,而是将我的Web应用程序编码为以安全托管的形式(使用HTTPS)接受用户登录名/密码,而我只会存储这些密码的哈希形式。 永远不要存储明文密码。
最后,系统的安全性仅与最弱的链接一样好。拥有唯一或不寻常的管理员具有一些价值,因为您可能会受到较少的攻击,但这本身并不提供任何真正的安全性。如果您仍然对在robots.txt文件中广播此网址有所保留,则可以权衡一下GoogleBot或BingBot或其他友好的bot在您的管理网址中开始踩踏时可能遇到的问题。这些网址是否会出现在Google搜索索引中?