ruby-on-rails – 检测Rails是否正在运行站点

我是一个管理我公司面向公众的云平台的团队的一员.我们有一个庞大的用户群,运行面向互联网的VM.我想对我们的地址空间进行自动扫描,看看是否有人正在运行Rails应用程序,以便我可以通知他们升级他们的Rails版本,以避免本周出现的严重安全漏洞.

我注意到在一些Apache部署中,有一个有用的Passenger Header:

X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 2.0.3

但是,这不可靠.我想知道是否有一种可靠的方法来检测在Web服务器后面运行的Rails,无论是响应头还是某种可以确定的GET / POST.谢谢!

最佳答案
每个Rails网站都有:

meta content="authenticity_token" name="csrf-param'

至少这是我一直看到的.

标题响应不可靠,这里有三个来自各种Rails站点:

Server:Apache/2.2.14 (Ubuntu)
Server:nginx
Server: thin 1.4.1 codename Chromeo

你知道nginx和Thin在Rails社区中很受欢迎,但这并不足以说Rails背后有它.您需要运行一个脚本来擦除网站并查找上面的元标记.如果您的脚本将使用Python,那么BeautifulSoup非常好.如果你使用Ruby,Mechanize gem是很棒的.

相关文章

文章浏览阅读3.7k次,点赞2次,收藏5次。Nginx学习笔记一、N...
文章浏览阅读1.7w次,点赞14次,收藏61次。我们在使用容器的...
文章浏览阅读1.4k次。当用户在访问网站的过程中遇到404错误时...
文章浏览阅读2.7k次。docker 和 docker-compose 部署 nginx+...
文章浏览阅读1.3k次。5:再次启动nginx,可以正常启动,可以...
文章浏览阅读3.1w次,点赞105次,收藏182次。高性能:Nginx ...