前端之家收集整理的这篇文章主要介绍了
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是很棒的.