0
 function updateR()
 {

    $.ajax({
       type: "POST",
       url: "update.php",
       data: { surprize: '12345678910', dpoint: point, dlevel: level }
         }).done(function( msg ) {
         //   alert( "Data Saved: " + msg );
        });

 }

它是我的功能。如果用户想要打开浏览器检查元素并更改值点,如何阻止或保护浏览器检查元素的 ajax 发布值(点或级别)?

4

3 回答 3

1

总之,你不能!是的,您可以做很多事情以某种方式隐藏它,或者添加一些垃圾来混淆它,但最终一个坚定的用户会找到它。很简单,因为用户可以看到负责将其发送到服务器的代码。

现在,您可以通过将垃圾值添加到 AJAX 请求,或者通过在实际数据中附加一些垃圾值来让尝试这样做的人变得困难。但是随后您必须混淆负责执行此操作的 javascript 代码。

但不要不要永远不要依赖这个!因为你只能让它变得困难,但有人下定决心就能做到。而且,如果您发现自己需要向服务器发送一些对用户保密的数据,那么您需要重新考虑您的系统架构,而不是试图向用户隐藏请求。

于 2013-03-11T13:42:30.153 回答
0

Web 应用程序是客户端服务器应用程序,您永远不能信任来自客户端的数据,也许您可​​以更难作弊,但用户始终有可能将修改后的数据发送到您的服务器。

于 2013-03-11T13:41:06.170 回答
0

实际上,用户可以发送他想要的任何内容,无论是通过浏览器还是命令行/任何其他工具。

您必须在服务器端清理和过滤您的输入。

例如。如果您知道您只需要名为 'surprize' 的 post var 的数值,则必须通过以下方式对其进行验证:

if(empty($_POST['surprize'])||!is_numeric($_POST['surprize'])){
  //invalid surprize
  die('Bad Surprize value');
}
于 2013-03-11T13:41:25.297 回答