【发布时间】:2021-09-20 22:18:05
【问题描述】:
我有一些关于如何使用 web3 控制 de msg.sender 的问题。
例如,我在solidity中有这个功能: 其中 owner 是 costructor 中使用的 msg.sender。例如是 0x9;
function NoPass() external view returns(string memory){
require(msg.sender == owner, "NO ERES EL PROPIETARIO");
return "HACKEADO";}
然后从 JS 我把这个函数称为:
contract.methods.NoPass().call({from:"0x9"}).then(res=>{
console.log(res);})
我可以调用此函数并跳过 require,因为我的调用 FROM 我写了与所有者相同的帐户。 我该如何解决? 因为我将帐户保存在一个值中,所以黑客可以修改此帐户值并跳过要求。
谢谢,我是新人 在发送函数中 它只是调用函数 但这很正常吗?
【问题讨论】:
标签: javascript solidity web3 web3-java