【问题标题】:Form submission without revealing form content表单提交而不泄露表单内容
【发布时间】:2014-03-24 18:15:08
【问题描述】:

我经营一个包含多个广播流的网站。我已经设置了 icecast 以请求 .htaccess 帐户,以便进行身份验证并开始流式传输。所有流都有相同的帐户。页面加载后,我使用 jquery 提交表单(通过css 隐藏),因此用户不必知道帐户也不必提交表单。

问题在于,如果用户查看源代码,表单信息就会被泄露。有什么办法可以隐藏这些信息?搜索互联网大多数人说这是不可能的,因为浏览器需要能够清楚地阅读这些信息才能正常运行。如果可能的话,有人知道吗?

【问题讨论】:

  • 这是不可能的 imo,即使您神奇地找到了一种方法来禁用显示此信息的源代码的查看,您也无法禁用查看器嗅探数据包并确定它们的内容正在向您发帖。
  • 您可以简单地加密和解密这些值。
  • @larsAnders 如果加密的值只是被原封不动地传回以进行身份​​验证,那么它可能根本不被加密,你会遇到同样的问题。
  • @skrilled 我知道我无法阻止用户查看源代码。我的大多数访客都是对网页了解有限的咖啡店老板。我不需要安全措施来防止黑客,只是更安全一点。我为流媒体带宽付出了很多,不希望他们不付费就获得源和流媒体。
  • 每个用户都应该有自己的一套凭据来进行身份验证,然后他们是否查看页面的源代码就没有关系了。

标签: php jquery forms


【解决方案1】:

我最终在页面加载时使用 jquery 创建表单 (document.createElement),提交它 (.trigger("click")) 然后删除它 (.remove())。此外,我使用@André 建议的Crazy Obfuscation 工具对 jquery 代码进行了混淆。这样用户就无法在 Page Source 中看到 htaccess 用户名和密码,也无法使用“inspect element”或 firebug 找到它。

【讨论】:

    【解决方案2】:

    就个人而言,我需要更多信息来明确推断出解决您问题的方法,希望您能给我。

    但是,您是否尝试过简单的.remove()ing 提交后的表单?这样,它会在页面加载时提交,然后被删除,因此当页面加载并且用户单击查看源时,他将无法看到它。当然,他可以禁用 JS,或者任何其他解决方法,但这是一个非常快速的解决方法,因为我们拥有大量信息。

    【讨论】:

    • 非常感谢您的回答。这是一个快速简便的解决方案。我的客户不是网络专家,所以这个禁用 javascript 的东西不是什么大问题。从我的网页流式传输是暂时的,因为我要聘请程序员制作跨操作系统应用程序,没有人能够查看源代码和密码。
    • 使用 jQuery 删除表单将不会从可视源中删除,只是从 DOM 中删除。
    【解决方案3】:

    您不能直接在“查看源代码”中隐藏值。同样,当提交表单时,用户可以使用“fiddler”等工具查看值。如果您想真正隐藏它们,您可以做的就是永远不要在表单中显示这些值。如果永远不需要在网页中向用户显示这些值,您可以尝试在服务器上加密这些值之类的技术。

    【讨论】:

      猜你喜欢
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-18
      • 1970-01-01
      • 1970-01-01
      • 2018-07-05
      相关资源
      最近更新 更多