【问题标题】:PHP & HTML: Encrypt formPHP & HTML:加密表单
【发布时间】:2010-08-24 14:47:11
【问题描述】:

我的网站中有表格。其中一些表格包括 PayPal 表格(向 PayPal 提交信息的表格)。我不希望我的客户查看源代码并查看我正在使用哪些字段及其各自的值。因此,我希望对它们进行加密,但能够使用用户在表单中输入的值和我自己隐藏的表单值安全地向 PayPal 提交信息。

例如,考虑我的表单的元素之一是:

<input name="note" type="text" id="note" value="<?php echo ( isset($_POST['note']) ? $_POST['note'] : '' ); ?>" maxlength="255" />

查看源代码时,我看到如下内容:

<input name="note" type="text" id="note" value="This is my first note" maxlength="255" />

因此,我发送的注释非常清晰可见。我不希望任何人看到我发送的内容和发送到哪里。因此,如果可能的话,我们是否可以对字段及其值进行加密,以便用户在查看源代码时看到如下内容:

aXKJKJHlnkhGHKJBjKJOIKJKG5dsaGjhvbSDHAHOSDLnNDNOjkjsadndKHKDNSQW

以上将表示该字段的加密形式。这是否可以在不使用 Javascript 的情况下实现?我真的很想在没有 javascript 的情况下执行此操作,因为表单字段值将是动态的,并且可以禁用 javascript。

非常感谢。

Edit1:我只是想添加此注释以指定我将对所有其他表单应用相同的加密过程,它们可能会或可能不会发布到 PayPal。因此,考虑到这一点,这将有助于了解一般的加密例程,而不仅仅是特定于 Paypal。有什么想法吗?

【问题讨论】:

  • 在线查看其他具有 paypal 表单的页面...您是否看到任何加密在起作用?
  • 除非浏览器能够解密它,否则最终用户能够读取它,因为他/她的浏览器是需要呈现有效负载的地方,否则您无法加密进入浏览器的内容。

标签: php security encryption cryptography


【解决方案1】:

简短的回答是

为了正确呈现您的页面,浏览器必须能够读取 HTML。不幸的是,这通常意味着它也必须是人类可读的(通过查看源代码或使用 DOM 检查器)。

可以通过使用打包/缩小的 JavaScript 来构建您的整个页面来防止查看源代码,但这对于可访问性来说是一场噩梦,如果您的用户禁用了 JavaScript,那么他们就看不到任何页面.这不是一个好主意。

查看互联网上的任何页面并查看其源代码。您将看到页面上的所有表单字段和元素(除非它们是由 JavaScript 创建的,在这种情况下,使用 DOM 检查器可以让您看到它们)。

如果您担心安全性,那么服务器端输入验证以及 HTTP 引荐来源网址检查是您的最佳选择。

【讨论】:

  • 你回答了他的问题的所有要点。很好。当堆栈让我在几个小时内再次投票时为你 +1。 :-)
【解决方案2】:

您似乎正在将浏览器发送到 PayPal 的网站,以便他们可以向您付款,而要进行此操作,PayPal 需要知道您的身份和交易金额。 PayPal 作为您可以使用的许多 API,因此例如,如果您可以获得 HTTPS 证书,您可以在服务器端执行所有操作。如果没有,那么看看他们是否没有交易,他们根据唯一的交易 ID 向您的服务器询问交易详细信息,而不是从浏览器获取所有信息。您可能会对其他 API 感到满意。

祝你好运!

哦,别忘了,如果有人知道如何给你钱,那完全没问题!

【讨论】:

  • 感谢您的回复。即使对于不向 Paypal 发送数据的其他形式,即内部的东西,我也需要实际应用相同的原则。因此,如果有一种方法可以让我无需使用 Paypal 的 API 就可以解决这个问题,那将会有所帮助。有什么想法吗?
【解决方案3】:

用 javascript 加密任何东西是个坏主意,人们可以将其关闭。你最好的办法是从用户那里获取你想要的信息,将表单发布到另一个收集数据的 php 文件,添加注释并将表单与额外信息一起提交到 paypal 本身(阅读this)。

【讨论】:

  • 注意:我不容忍这个,按照其他人的建议做,正确使用api!
  • 感谢您的回复。有时按照您建议的方式进行操作是不可行的。所以我的问题是基于这种情况。那么现在有什么想法吗?
【解决方案4】:

您可以在将数据发送到 PayPal 之前加密服务器上的数据,如前所述,这是您最好的选择,因为除了 PayPal 之外的任何人都无法解密。

有一个教程here 似乎很有帮助。由于您已经在使用 PHP,它应该只是一个复制和粘贴工作。

【讨论】:

  • 感谢您的回复。我的目的是加密所有表格,而不仅仅是与 Paypal 相关。有什么想法吗?
猜你喜欢
  • 2013-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多