我正在寻找的公司声称已经使用Django为航空公司和家具店制作了网站,但是当我查看网站时,没有任何迹象表明底层网络技术是什么.你怎么知道?
这是一个很老的问题,但我没有看到任何规范的答案.正如其他答案所指出的那样,没有确定的方法可以知道,如果有人想隐瞒他们使用Django的事实,他们可以.也就是说,你可以随时做一些侦探工作,并确定它是否使用Django.如果这是您的目标,那么您可以注意以下一些强有力的指标:
首先,检查网站是否有/admin/
页面.如果确实如此,并且它给出了熟悉的Django管理员登录页面,那么你肯定是99%(除非有人经历了很多让它看起来像Django 的麻烦).
您可以在表单中注意以下事项:
表单字段,其id
属性以.开头id_
检查带有名称的隐藏字段 csrfmiddlewaretoken
如果站点具有表单集,请检查-TOTAL-FORMS
并-DELETE
隐藏输入.
如果站点使用该contrib.auth
包进行身份验证,您可能会sessionid
在登录时看到一个名为" set" 的cookie .
表单也可能会设置一个名为的cookie csrftoken
.
在URL之后跟踪斜杠,和/或如果您尝试在没有它的情况下转到具有尾部斜杠的页面,则将其重定向到该页面.这是Django的默认行为,据我所知,在其他框架中并不常见.但请注意,它可以在Django中轻松停用.
如果失败了,或者仍然没有被说服,你可以尝试强制错误页面,并尝试从中学到一些东西.转到带有404页面的未映射的URL,看看是否DEBUG
仍然是真的(在这种情况下,您应该通知所有者他们对自己的网站不是很安全).
您可以尝试一些操作,例如尝试查找错误页面,以及检查Django创建的管理面板的默认位置,但总体而言,无法确定给定站点使用的技术.
另见:https://stackoverflow.com/questions/563316/is-there-a-generic-way-to-see-what-is-a-website-running-on/563335#563335