我正在使用一家调查广告公司来奖励用户通常会购买的商品。这是一个JavaScript SDK,我可以订阅Survey_Finished事件。在那种情况下,我通过AJAX调用ASHX处理程序,该处理程序通过查询字符串传递用户名。然后,处理程序获取用户名,并更新SQL,向用户授予奖励。
用户真正要做的就是查看页面源代码,获取ASHX处理程序的URL,然后自己调用它,从而能够滥用系统并获得他们想要的尽可能多的奖品。
如何确保此安全性,以确保我的Web应用程序是唯一可以调用ASHX处理程序的东西?
答案 0 :(得分:0)
在数据库的表中创建GUID,作为折扣的关键。应用折扣后,锁定折扣,并在签出订单后使该GUID(主要)的折扣无效。我假设这将在调用ashx处理程序时完成。该GUID将阻止某人传递随机数。他们将无法像整数键一样猜测GUID,并且锁定机制可以防止在多个订单上多次使用相同折扣的应用程序。