Java 客户端代码可以访问或设置http请求属性吗?

Java 客户端代码可以访问或设置http请求属性吗?,java,httprequest,Java,Httprequest,我有理由相信我知道答案,但我很难找到任何具体的信息。我知道客户端向http服务器提交请求(可选地提供Request参数)。服务器具有通过对象在请求属性中存储信息的附加功能。我的问题是,客户端是否有权访问http请求对象中的属性?我们有很多写得很差的代码,看起来像这样: if (request.getAttribute("name") != null) name = request.getAttribute("name); else if (request.getParameter("na

我有理由相信我知道答案,但我很难找到任何具体的信息。我知道客户端向http服务器提交请求(可选地提供Request参数)。服务器具有通过对象在请求属性中存储信息的附加功能。我的问题是,客户端是否有权访问http请求对象中的属性?我们有很多写得很差的代码,看起来像这样:

if (request.getAttribute("name") != null)
    name = request.getAttribute("name);
else if (request.getParameter("name") != null)
    name = request.getParameter("name");

我猜这是因为最初的开发人员没有完全理解客户端http请求是如何向服务器提交数据的。在任何情况下,我目前正在实施请求数据的附加有效性和编码,以防止XSS漏洞,并想知道客户端是否可能损坏/攻击/利用请求属性(假设它们从未填充来自客户端的数据)

否。这些属性是servlet规范添加的,可用于在请求操作的不同实体之间进行通信。它们不通过网络传输,因此它们不存在于客户端

客户机可以设置主体、参数(即url)和标题,基本上就是这样

见: