Python Flask:如何阻止用户利用Inspect元素或完全消除这种可能性

Python Flask:如何阻止用户利用Inspect元素或完全消除这种可能性,python,Python,我正在尝试使用python创建一个聊天网站。我有一个名为“/chatroom”的路由,每次发送消息时(使用我在函数中返回的HTML),HTML也会将一个带有userid值的隐藏字段发送回聊天室的开头,这样我就可以使用request.args.get函数来获取userid。我的问题是,站点上的任何人都可以简单地检查元素并更改位于隐藏字段中的用户id,以通过我的用户删除方法。是否有方法检查任何客户端是否使用Inspect元素或禁用它?或者更好的是,是否可以不必在隐藏字段中发送用户id?以下是mess

我正在尝试使用python创建一个聊天网站。我有一个名为“/chatroom”的路由,每次发送消息时(使用我在函数中返回的HTML),HTML也会将一个带有userid值的隐藏字段发送回聊天室的开头,这样我就可以使用request.args.get函数来获取userid。我的问题是,站点上的任何人都可以简单地检查元素并更改位于隐藏字段中的用户id,以通过我的用户删除方法。是否有方法检查任何客户端是否使用Inspect元素或禁用它?或者更好的是,是否可以不必在隐藏字段中发送用户id?以下是message send字段和userid hidden字段的代码:

`'''<!DOCTYPE html>
<html>
<body>
<form action='/chatroom'>
<input type=text name='msg'>
<input type=hidden name=userid value="''',userid,'''">
</form>
</body>
</html>'''`
“'
'''`
每次发送表单时,如我前面所说,程序都会获取“userid”参数并将其赋值给变量userid

第一次加载页面时,我有一个不同的方法。暂时别理它

谢谢


另外,如果这个问题很模糊,很可能会模糊,请对此进行评论,我可以把它弄清楚。

问题不在于Inspect元素-问题在于你建立了一个不幸不安全的网站

处理这种情况的一种方法是在客户端和服务器之间的每次通信中对用户ID进行编码和解码。因此,发送到前端(客户端)的
用户ID
被编码,不再像普通用户ID。然后,当请求发送到服务器时,服务器对ID进行解码,以便能够识别用户


这是一个非常简化的web安全版本,甚至不接近万无一失;例如,如何阻止人们复制编码的ID?接下来可以对ID进行哈希处理,但这会增加复杂性。长话短说,实现您自己是很困难的,禁用Inspect元素并不能解决您的站点不安全的问题。因此,我建议您研究旨在保护用户身份的现有软件包,或者直接使用它们,或者尝试复制它们的行为。有两个例子需要研究,这将是一个很好的起点。

问题并不真正在于Inspect元素,问题在于您构建了一个不幸不安全的站点

处理这种情况的一种方法是在客户端和服务器之间的每次通信中对用户ID进行编码和解码。因此,发送到前端(客户端)的
用户ID
被编码,不再像普通用户ID。然后,当请求发送到服务器时,服务器对ID进行解码,以便能够识别用户


这是一个非常简化的web安全版本,甚至不接近万无一失;例如,如何阻止人们复制编码的ID?接下来可以对ID进行哈希处理,但这会增加复杂性。长话短说,实现您自己是很困难的,禁用Inspect元素并不能解决您的站点不安全的问题。因此,我建议您研究旨在保护用户身份的现有软件包,或者直接使用它们,或者尝试复制它们的行为。有两个要调查的例子是很好的起点。

为什么不使用会话?为什么不使用会话?