0

我对网络安全不太熟悉,但正在尝试开发基于 django 的应用程序。对于支付,我使用 Payu 支付网关,按照文档成功集成。

在付款网址中,我必须发布一些敏感信息,例如 -merchant_key, txnid连同用户信息,对于敏感数据,我使用隐藏字段,但我认为这不是一个好的选择,因为任何人都可以在源代码中看到我的敏感数据。

<form action="https://test.payu.in/_payment" name="payuForm" method="post">
<input type="hidden" name="csrfmiddlewaretoken" value="pOz2jZlcwLuLJRfBor9xqr4KIXtqGUCmcUSdZl6QeIXZnKc00ApNU2BxInA94Esy">
<input type="hidden" name="key" value="123456789">
<input type="hidden" name="hash" value="98231e7321875de86639070b07a1940effad7cac37e15e277f62e6d9c9488085cd060a3b9963864f2b10a334f2c04be4387b3fe24422d01cf5ed49d1a54c39f0">
<input type="hidden" name="txnid" value="833657e26b12fde34b620c67a3a8646c">
<input type="hidden" name="amount" value="1.0">
<input type="hidden" name="email" value="pankaj@gmail.com">
<input type="hidden" name="firstname" value="Pankaj">
<input type="hidden" name="phone" value="9950542612">
<input type="hidden" name="productinfo" value="Message showing product details.">
<input type="hidden" name="surl" value="http://127.0.0.1:8000/orders/payment/success">
<input type="hidden" name="furl" value="http://127.0.0.1:8000/orders/payment/failure">
<!-- <input type="hidden" name="service_provider" value="" /> -->

<div class="form-group">
    <div class="col-md-12 col-sm-12">
        Amount : 1.0
    </div>
</div>
<div class="form-group">
    <div class="col-md-12 col-sm-12">
        Purpose : Message showing product details.
    </div>
</div>
<div class="form-group">
    <div class="col-md-12 col-sm-12">
        Name : Pankaj
    </div>
</div>
<div class="form-group">
    <div class="col-md-12 col-sm-12">
        Email : pankaj@gmail.com
    </div>
</div>
<div class="form-group">
    <div class="col-md-12 col-sm-12">
        Mobile : 9950542612
    </div>
</div>
<div class="form-group">
    <div class="col-md-12 col-sm-12">
        Transaction ID : 833657e26b12fde34b620c67a3a8646c
    </div>
</div>
<div class="form-group">
    <div class="col-md-12 col-sm-12" style="padding-bottom:20px;padding-top:20px;">
        After clicking 'Pay Now' button, you will be redirected to PayUMoney Secure Gateway.
    </div>
</div>

<div class="form-group">
    <div class="col-md-12 col-sm-12">
        <input type="submit" class="btn btn-success btn-sm" value="Pay Now">
    </div>
</div>

这是将数据发布到 url 的唯一方法吗,我尝试使用重定向发布数据,但由于一些安全问题,我们无法使用重定向发布数据 -请参阅此

如果有人可以帮助理解这一点。

4

2 回答 2

0

您不应与隐藏字段共享敏感信息,因为这可能导致严重的数据泄露。

但是,如果您有必须将一些相关信息共享给另一个服务的场景,那么您可以使用相关外键(例如 userid、sessionid 等)进行数据库调用,并且您可以使用后端进行 dbcall,这可以是根据需要确保安全。

于 2018-07-25T12:20:11.233 回答
0

如果您将此类敏感数据发送到第三方服务端点。可以从浏览器访问这些详细信息。即使你使用了像 js frameworks 这样的前端框架。但如果这是确认页面,则这些详细信息属于输入数据的同一用户。从这个角度来看,这样发送是可以的。但这不是一个好的使用方法。仍然可以通过 js 注入或通过浏览器插件或扩展等检索这些数据。因此,一种解决方案是将此功能移交给支持的脚本(认为该页面是通过 php/jsp/asp 创建的)。或者您在发送这些详细信息时需要使用强大的加密机制。也搜索 HTTPS。

于 2018-07-25T12:20:17.963 回答