当返回到带有Json编码的Javascript时,控制台中会显示PHP变量

当返回到带有Json编码的Javascript时,控制台中会显示PHP变量,javascript,php,json,validation,Javascript,Php,Json,Validation,我正在用js和php执行一些验证,但我随机来到firebug inspect控制台,所有变量都出现在控制台中,如屏幕截图所示。我想如果我从PHP返回一个带有Json编码的变量,它将被隐藏,但在控制台中是可见的 有没有办法隐藏这些值,以免在控制台中显示给用户? 验证的主要逻辑是Javascript,条件如下,然后比较JS中的值是否等于PHP中的字符串 $row1 = "10010010";$row2 = "01001001";$row3 = "00

我正在用js和php执行一些验证,但我随机来到firebug inspect控制台,所有变量都出现在控制台中,如屏幕截图所示。我想如果我从PHP返回一个带有Json编码的变量,它将被隐藏,但在控制台中是可见的

有没有办法隐藏这些值,以免在控制台中显示给用户? 验证的主要逻辑是Javascript,条件如下,然后比较JS中的值是否等于PHP中的字符串

$row1 = "10010010";$row2 = "01001001";$row3 = "00100100";$row4 = "10010010";
$row5 = "01001001";$row6 = "00100100";$row7 = "10010010";$row8 = "01001001";
    
    
echo json_encode([
    'row1' => $row1, 
    'row2' => $row2,
    'row3' => $row3, 
    'row4' => $row4, 
    'row5' => $row5, 
    'row6' => $row6, 
    'row7' => $row7, 
    'row8' => $row8]
);
在JS中:

//logic of validation in JS

   if ( jsVariable === data.row1) //...
else //...
   if (jsVariable2 === data.row2) //...
else //...
这里有一些非常重要的东西需要学习:

发送到浏览器的所有内容都对用户可见。甚至在每个浏览器都附带调试工具之前也是如此,因为浏览器在用户的计算机上运行,所以如果浏览器可以看到它,用户就可以看到它。 在浏览器上运行的任何内容都由用户控制。这意味着客户端验证只能用于用户友好性,而不能用于安全性。所有验证都必须在服务器上重新运行,因为用户可以提交他们想要的任何数据。 您可以将加密或散列数据传递到浏览器以便传回,也可以传递不透明令牌,允许您在传回数据时在服务器上查找特定数据段。这通常称为会话


请注意,如果在浏览器中解密数据,用户可以截获解密的副本。简言之,永远不要信任浏览器。

No-您不能隐藏PHP文件的响应,因为这样做也会阻止JavaScript使用数据。好的,我不支持。。我必须删除所有javascript验证代码,并将其放在PHPIf中。这是一些真正的敏感数据,您可以对这些值进行加密并在服务器端解密。。正确的加密方法几乎不可能用蛮力解密。如果完全重写PHP是不可能的,那就值得思考一下。研究一下使用$\u SESSIONS tho可能会对您有所帮助。因此,我在JS中有一个数组,它使用JS join方法转换为字符串。如何将该变量传递到php进行服务器端验证?谢谢您的回答。你觉得这个验证逻辑正确吗?在我的例子中,我对安全性不感兴趣,我只想以某种方式隐藏控制台中显示的那些值,而不是显示我可以显示的答案???但是为什么要隐藏它们呢?你在瞒着谁?对于该验证,仍在应用验证客户端;用户看不到验证是如何工作的,但他们仍然可以禁用它。如果随后将用户的数据传递回服务器,则需要再次验证,因为用户可以向服务器发送他们想要的任何数据。但为什么要隐藏这些数据呢?-对我来说,使用Javascript Jquery更容易,你在向谁隐藏它们?试图做一个简单项目的学生。例如,如果我在php中使用If语句,并且如果答案为true,我可以返回字符串a=??而不是答案,然后比较JS ifdata.a==??回答正确;对于简单的项目来说是个坏主意吗?好的,我想知道是不是这样。在这种情况下,最简单的解决方案是一个好的老式表单:提交表单,服务器在$u POST中检查您的答案,并告诉您是否正确。但是,如果您想让UI有点别致,那么是的,像您链接到的那样的AJAX调用可以工作。很抱歉,如果答案是关键性的,但是服务器和客户端之间的关系是人们经常误解的,如果您将安全性建立在这种误解之上,可能会产生严重的后果。