我有这段代码,用于检查 json 是否有效,如果有效,则 json 中的每个对象都计为 1 美元(我网站上的货币)。这是代码
<?php
if(isset($_POST['data'])) {
$testJson = json_decode($_POST['data']);
if($testJson) {
$price = 0;
foreach($testJson as $amount)
// I do something with $amount...
$price++; // Augment the price
}
}
}
所以基本上如果 $_POST['data']
是 [{"item":2,"id":1092,"x":198,"y":- 1}]
,那么价格将为 1 美元。如果是 [{"item":2,"id":1092,"x":198,"y":-1},{"item":2,"id":1098,"x": 198,"y":-1}]
价格为 2 等等...
我的问题是,即使 JSON 字符串中有多个对象,有人可以操纵 JSON,以便他们可以以 0 美元购买商品吗?
谢谢
最佳答案
如果您阅读 OWASP top 10 ,那么您可以看到此代码容易受到 CSRF 的攻击。我还会密切关注 SQL 注入(inject),因为这在 PHP 中很常见,因为许多应用程序不使用 ORM。
关于php - 这个 JSON 代码安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43310725/