gpt4 book ai didi

javascript - 在客户端安全地执行代码

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:16:52 24 4
gpt4 key购买 nike

我在一次面试中被问到这个关于分布式计算的问题。

面试官:

"Sam ran a certain code on a client's computer to get its output. But the client modifies the code and hence the code returned a different output.

Now Sam wants to know if its possible to detect whether the code had been changed or the return value is modified. Is this possible?"

我认为不可能阻止客户修改代码,因为代码在他们的计算机上。还是我错了?如果没有,我们是否可以检测代码是否被更改或做一些事情让客户端难以操作代码和输出?

最佳答案

客户端是否操纵代码并不重要,唯一真正重要的是您的服务器从它收到的结果。毕竟,客户端可能根本没有运行您的代码,它可能只是返回一个硬编码的响应。

那么问题就变成了:您的服务器能否信任客户端发送的答案
普遍的回答是:不会。

更复杂的答案是:这取决于您希望它做什么。也许你正在做的是服从 proof-of-work concept ,其中客户必须在数学上证明它做了某事。也许你可以包括一些签名过程,它在数学上证明某些数据是从某些其他数据派生出来的,并使客户的数据可验证。也许服务器可以要求两个不同的客户端执行相同的工作或重叠的工作部分,这些工作可以相互验证,这将需要攻击者同时操纵两个(或更多)客户端,这可能不可行,足以让每个客户的回答个人值得信赖。

关于javascript - 在客户端安全地执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27339198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com