Web应用程序上的恶意用户是否可以操纵Web应用程序前端发送的输入(在表单数据旁边)? - java

Web应用程序上的恶意用户是否可以通过任何可能的方式来操纵Web应用程序前端发送的输入(当然,这不是在谈论FORM DATA),但是发送的请求例如当我允许他编辑他的个人资料或他的内容时,他可能会操纵ID(userId或contentId),从而可能恶意地对其他用户的内容进行邪恶?这些输入固定在网页上并且不可编辑,但用户仍然可以操纵它们吗?

用户是否可能以这种方式造成伤害?如何保护我的应用程序免受此侵害?此外,在允许用户执行每个操作之前,请在应用程序上验证用户的身份及其内容/属性。

参考方案

当然是。来自客户端的任何内容都可以修改,并且完全不可信任。

您需要进行服务器端检查,如果用户正在编辑自己的个人资料或允许其编辑的内容。

对于编辑个人资料之类的事情,您可以简单地使用存储在其会话中的用户ID(假设它是安全的,即存储在服务器端或使用加密签名的Cookie)。仅在必要时才让数据通过客户端-如果服务器上已有数据,您甚至不必让用户觉得他可能会篡改数据。即使它可以用作蜜罐-但这并不是大多数Web应用程序的真正目的...

什么时候在Hibernate中调用flush()和commit()? - java

我有以下情况: openSession() tx = session.beginTransaction(); try { ... session.saveOrUpdate(obj_1); ... session.saveOrUpdate(obj_2); ... session.saveOrUpdate(obj_3); session.flush(); tx.…

如果没有它,为什么还要使用collect(Collectors.toList())? - java

我在许多Java 8参考资料和示例中都看到了以下代码:List <Integer> l = Arrays.asList(7, 3, 9, 8, 6, 5, -1, -100); l.stream().filter(y -> y <l.get(0)).collect(Collectors.toList()). forEach(Syste…

无法从上下文访问getContentResolver()? - java

我有两个类,MainActivity和DoHardWork。 DoHardWork扩展了AsyncTask,在该类中,我需要访问上下文以获取contentResolver并进行查询。没问题吧?让我们将其作为参数传递给DoHardWork: Context currCont = this; new DoHardWork(currCont).execute();…

如何在过滤器()java8中使用peek()? - java

我有一个LinkedHashMap。sorted:{0=[1, 2], 5=[4, 3], 1=[2, 0, 3], 2=[4, 0, 1], 3=[4, 5, 1], 4=[5, 2, 3]} 我尝试根据其大小过滤每个键的值。例如对于条目2=[4, 0, 1],我需要过滤值,以便键只能具有其大小大于或等于(>=)的值。考虑2=[4, 1]:由于0只有…

JAVA:字节码和二进制有什么区别? - java

java字节代码(已编译的语言,也称为目标代码)与机器代码(当前计算机的本机代码)之间有什么区别?我读过一些书,他们将字节码称为二进制指令,但我不知道为什么。 参考方案 字节码是独立于平台的,在Windows中运行的编译器编译的字节码仍将在linux / unix / mac中运行。机器代码是特定于平台的,如果在Windows x86中编译,则它将仅在Win…