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

关于保护Web应用数据源的思考

  •  2
  • donohoe  · 技术社区  · 16 年前

    我正在开发一个新的Web应用程序,它通过Ajax请求请求大量内容(文本、图像、元数据)。

    用户无需授权或登录即可访问此。

    我担心的是,您可以轻松地查找数据源URL并直接在应用程序外部点击它来获取大数据。在某些方面,如果你能做到这一点,你可能会刮到其他地方也有这个内容的静态HTML页面。

    是否有关于模糊、隐藏或使直接访问数据非常困难的方法的建议?

    例子: Web应用HTML页包含一个每30分钟重新发布一次的密钥。在服务器端,数据基于此密钥被模糊化。为了在应用程序之外获取数据,你需要找出数据源,同时还要每30分钟抓取一个键的页面。

    我知道没有100%的办法阻止某人,但我更多的是在谈论威慑。

    3 回复  |  直到 16 年前
        1
  •  4
  •   Jeffrey Blake    16 年前

    使用 sessions 在您的webapp中。当接收到第一页的有效请求时,请记下(例如数据库条目或服务器端代码可以访问的其他机制),并在第二页中包含代码,以便在处理没有相应会话条目的请求时排除数据。

    显然,如何做到这一点的具体细节在不同语言之间会有所不同,但大多数健壮的Web平台将支持会话,这主要是因为这类原因。

        2
  •  2
  •   CrayonViolent    16 年前

    如果您想要显示实时数据,并且担心刮刀……如果这是一个足够大的问题,那么我建议使用Flash而不是JS(Ajax)。用闪光物体显示数据。Flash可以像Ajax一样实时向服务器发送/接收请求。但flash的好处在于它的整个阶段、数据、代码等。在不能刮伤的闪光物体内。flash对象发出请求,将这些内容输出为加密的代码字符串。在flash中解密,然后从那里显示。

        3
  •  0
  •   Chase Florell    16 年前

    “是否有任何关于方法的建议,使数据变得模糊、隐藏或以其他方式使直接访问变得非常困难?”

    回答你自己的问题,因为如果数据值得获得,它将获得,因为你是模糊的,只是使它更难找到。

    您可以在服务器端脚本中处理Ajax并返回请求来自何处的数据检查。

    推荐文章