首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >防止PHP/JavaScript/JQuery (PayPal)中的表单操作

防止PHP/JavaScript/JQuery (PayPal)中的表单操作
EN

Stack Overflow用户
提问于 2015-05-08 17:27:32
回答 1查看 720关注 0票数 0

我有一个表格,用户可以购买信用与PayPal或银行转账作为支付选项。

如果用户选择" PayPal“作为选项,则使用JQuery/JS将表单数据发送到PayPal:

代码语言:javascript
运行
复制
$(':radio').change(function () {
var $this = $(this).val();
    if ($this === 'pp') {
    $('#form').attr('action','https://www.paypal.com/cgi-bin/webscr');  
     }           
    else
    {
    $('#form').attr('action','');  
    }
});

用户还可以选择他想要支付的金额,这也可以选择他将从中得到多少学分。此外,他还可以添加优惠券代码。Ajax-请求将检查我们的数据库,如果这是一个有效的优惠券,然后授予折扣价值。

所有信息都存储在隐藏的输入字段中(价格是多少、信用多少、折扣(如果有的话)、用户id等等)。现在,我希望确保用户不会使用开发人员工具或类似的东西来操作这些值,使用其他用户id等等。

防止此表单操作并接收正确数据的最佳方法是什么?我想这有点困难,因为有太多的价值观需要改变。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-08 17:50:12

数据伪造/操作

有许多邪恶的方式发送操纵或伪造的数据到一个web服务器- cURL,Http客户端(OSX应用),只是举两个我经常使用的调试。无论您想到什么Javascript,坚定的攻击者都会向HTTP服务器发送坏数据。

跳出框框思考

出于安全需要,是时候打破使用web浏览器的思维模式了,因为它是一个网站。如前所述,有许多方法可以将数据发送到HTTP服务器。

Javascript对UI和帮助用户都有好处,但是当涉及到保护您的服务不被故意损坏/错误/格式错误的数据时,您必须在服务器上使用。

你的特殊问题

您可能需要重新考虑使用隐藏表单字段。一种方法是使用会话来跟踪这些信息。如果这是必须以其形式发送到PayPal的信息,则有一种使用加密数据实现嵌入PayPal表单的方法。

如果您不想这样做,那么安全性就转移到订单处理代码--在考虑事务是否完整和有效之前,查看事务的详细信息(货币金额等)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30129541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档