Html React中禁用的按钮有多安全?

Html React中禁用的按钮有多安全?,html,reactjs,events,button,disabled-input,Html,Reactjs,Events,Button,Disabled Input,我刚刚发现,在开发者工具中编辑一个按钮以启用一个禁用的按钮不会改变任何事情。按钮以某种方式在内部保持禁用状态。(尽管禁用的样式效果已删除) //这是Chrome开发者工具中按钮的外观 邮递 //编辑掉“禁用”没有任何作用。没有调用click事件 有趣的是,尝试禁用启用的按钮也不会改变任何东西。onClick方法在单击时仍会被调用 在我发现之前,我总是使用一个标志来阻止恶意用户启用按钮时的单击 .... const [enabled, setEnabled] = useState(false)

我刚刚发现,在开发者工具中编辑一个按钮以启用一个禁用的按钮不会改变任何事情。按钮以某种方式在内部保持禁用状态。(尽管禁用的样式效果已删除)

//这是Chrome开发者工具中按钮的外观
邮递
//编辑掉“禁用”没有任何作用。没有调用click事件
有趣的是,尝试禁用启用的按钮也不会改变任何东西。onClick方法在单击时仍会被调用

在我发现之前,我总是使用一个标志来阻止恶意用户启用按钮时的单击

....
const [enabled, setEnabled] = useState(false)
....

....
const postData = () = {
   if(!enabled) return;

   //sensitive action takes place here
}
....

....
return(
    <button disabled={!enabled} onClick={postData}>Post</button>
);
....
。。。。
const[enabled,setEnabled]=useState(false)
....
....
常量postData=()={
如果(!启用)返回;
//敏感的行动在这里发生
}
....
....
返回(
邮递
);
....

我只想知道如果(!enabled)返回,那么删除
是否完全安全来自
postData()
函数的行。是否有其他工具可以真正启用禁用的react按钮或直接调用
postData()

禁用的
按钮在react中与在HTML中一样安全。最终,浏览器理解和获取的是DOM元素,在浏览器上呈现的React也不例外。也就是说,任何安全性都不要只依赖前端,还要进行服务器端验证和安全检查。

您可以在事件处理程序中放置决定按钮是否应禁用的完全相同的代码(如果应该,则立即返回)。但如果这是一个安全问题,一般规则是永远不要相信前端发送给您的内容,并调整您的服务器行为-side@Treycos这不是我在示例中所做的,还是我遗漏了什么?我明白了。你是说国旗挂在那里与不挂在那里没有区别,而且永远都不安全?是的,的确如此。你永远不能百分之百地依赖它。可怕的是,web前端代码是多么容易修改。我想知道移动和桌面应用程序开发者是否需要担心这样的事情。是的,他们通常都会担心。他们的大多数安全措施都在后端
....
const [enabled, setEnabled] = useState(false)
....

....
const postData = () = {
   if(!enabled) return;

   //sensitive action takes place here
}
....

....
return(
    <button disabled={!enabled} onClick={postData}>Post</button>
);
....