你怎么知道一个网站是用Django制作的?

时间:2009-04-06 15:20:01

标签: django

我正在寻找的公司声称已经使用Django为航空公司和家具店制作了网站,但是当我查看这些网站时,没有迹象表明底层网络技术是什么。你怎么知道?

7 个答案:

答案 0 :(得分:21)

这是一个很老的问题,但我没有看到任何规范的答案。正如其他答案所指出的那样,没有确定的方法可以知道,如果某人想要隐藏他们使用Django的事实,他们可以。也就是说,你可以随时做一些侦探工作,并确定它是否使用Django。如果这是您的目标,那么您可以注意以下一些强有力的指标:

管理员面板

首先,检查网站是否有/admin/页面。如果确实如此,并且它给出了熟悉的Django管理员登录页面,那么你肯定是99%(除非有人经历了很多麻烦才能使它像看起来像)。

表单

您可以在表单中注意以下几点:

  • id
  • 开头的id_属性的表单字段
  • 检查名称为csrfmiddlewaretoken
  • 的隐藏字段
  • 如果网站有表单集,请检查-TOTAL-FORMS-DELETE隐藏的输入。

缓存

  • 如果网站使用contrib.auth包进行身份验证,您可能会在登录时看到名为sessionid的Cookie。
  • 表单也可能会设置一个名为csrftoken的Cookie。

尾随斜杠

在网址后跟踪斜杠,和/或如果您尝试转到没有它的网页,则将您重定向到带有斜杠的网页。这是Django的默认行为,据我所知,在其他框架中并不常见。但请注意,它可以在Django中轻松停用。

错误页面

如果没有这一切,或者仍然没有被说服,你可以尝试强制错误页面,并尝试从中学到一些东西。转到带有404页面的未映射的网址,看看DEBUG是否仍然是真的(在这种情况下,您应该通知所有者他们对自己的网站不是很安全)。

答案 1 :(得分:7)

您可以尝试一些方法,例如尝试查找错误页面,以及检查Django创建的管理面板的默认位置,但总体而言,无法确定给定网站正在使用的技术。

另请参阅:https://stackoverflow.com/questions/563316/is-there-a-generic-way-to-see-what-is-a-website-running-on/563335#563335

答案 2 :(得分:4)

查找csrf输入框。这以任何形式出现。但是这可以关闭,虽然不是很推荐。此外,如果它是django的旧版本,这可能不存在。但如果它在那里它是一个强有力的指标。

这在任何有帖子表格的页面上都有。它看起来像这样:

<input type='hidden' name='csrfmiddlewaretoken' value='3b3975ab79cec7ac3a2b9adaccff7572' />

答案 3 :(得分:2)

导航到带有formset的页面,并检查是否有* -TOTAL_FORMS或* -DELETE隐藏输入。 这并不能证明他们正在使用Django,但可能是他们的线索(使用上面提到的模型形式集)。

答案 4 :(得分:1)

尝试导航到某些404错误页面或类似的东西。机会很小,但尝试找到默认的django错误页面。

您还可以尝试登录www.website.com/admin,看看您是否获得了默认的django管理页面。

除此之外,如果这不起作用,那么你就不能

答案 5 :(得分:0)

据我所知,没有可靠的指标,但您可以查看/ admin / URL以查看您是否获得标准管理员应用程序,或者有时Feed-URLs使用公共前缀与普通后缀相比(尽管这可能不是一个指标,但只是开发商的偏好。)

尝试触发调试页面(通过404或使用可能出现内部错误的一些损坏的输入)也可能是一种好方法(尽管这更像是对原始开发人员和管理员的能力的测试而不是任何事情否则:-))

答案 6 :(得分:0)

您能问问航空公司和/或家具店吗?我猜你想知道这家公司是否有很好的django经验,我认为如果你考虑与他们合作,请求参考是合理的。

其他公司可能很乐意讨论使用哪些技术 - 有些是,有些不是,但值得问。