代码之家  ›  专栏  ›  技术社区  ›  hughdbrown

你如何判断一个网站是否是用Django制作的?

  •  10
  • hughdbrown  · 技术社区  · 15 年前

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

    7 回复  |  直到 15 年前
        1
  •  28
  •   Herman Schaaf    12 年前

    这是一个相当古老的问题,但我看不到任何规范的答案。但是,正如其他答案所指出的那样,没有确切的方法知道是否有人 为了掩盖他们正在使用Django的事实,他们可以。这就是说,你可以随时做一些侦查工作,并自信地确定它是否使用Django。如果这是你的目标,以下是一些你可以关注的强有力的指标:

    首先,检查站点是否有 /admin/ 页如果是这样的话,并且它提供了熟悉的Django管理员登录页面,那么您可以99%确定(除非有人经历了很多麻烦才做到)

    形式

    • 使用 id id_
    • 检查名称为的隐藏字段 csrfmiddlewaretoken
    • 如果站点有表单集,请检查 -TOTAL-FORMS -DELETE 隐藏的输入。

    曲奇饼

    • contrib.auth 包进行身份验证时,您可能会看到一个名为 sessionid
    • 表单也可能会设置一个名为 csrftoken .

    尾随斜线

    URL后面的尾随斜杠,和/或如果您试图转到没有尾随斜杠的页面,则将您重定向到带有尾随斜杠的页面。这是Django的默认行为,据我所知,在其他框架中并不常见。不过请注意,在Django中可以很容易地停用它。

    错误页

    DEBUG 仍然是正确的(在这种情况下,您可能应该通知所有者,他们对他们的站点不是很安全)。

        2
  •  7
  •   Community CDub    7 年前

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

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

        3
  •  4
  •   Eduardo    13 年前

    查找csrf输入框。这在任何形式上都存在。但这可以关闭,尽管不是很推荐。如果它是django的旧版本,那么它可能不存在。但如果它在那里,这是一个强有力的指标。

    这会出现在任何有post表单的页面上。看起来是这样的:

    <input type='hidden' name='csrfmiddlewaretoken' value='3b3975ab79cec7ac3a2b9adaccff7572' />
    
        4
  •  2
  •   morais    15 年前

    导航到具有表单集的页面,并检查是否存在*-总计表单或*-删除隐藏输入。 这并不能证明他们正在使用Django,但可能是他们正在使用Django的线索(使用提到的模型表单集)。

        5
  •  1
  •   Yuval Adam    15 年前

    您也可以尝试登录到 www.website.com/admin 并查看是否获得默认的django管理页面。

    .

        6
  •  0
  •   Horst Gutmann    15 年前

    据我所知,没有可靠的指标,但你可以检查/admin/URL,看看你是否得到了标准的admin应用程序,或者有时候提要URL使用了一个公共前缀,而不是一个公共后缀(尽管这可能根本不是一个指标,只是开发人员的偏好)。

    尝试触发调试页面(通过404或使用一些可能导致内部错误的中断输入)也可能是一种好方法(尽管这更像是对原始开发人员和管理员能力的测试:-)

        7
  •  0
  •   Steve    15 年前

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