- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我删除了之前的帖子以重新创建一个更清晰的帖子。有关信息,我简化了代码以使其更简单。
我向您展示我的问题。
我的 servlet HelloWorld :
public class HelloWorld extends HttpServlet {
private String message;
public void init() throws ServletException {
// Do required initialization
message = "Hello World";
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Set response content type
response.setContentType("text/html");
// session test
System.out.println( request.getSession().getId() );
PrintWriter out = response.getWriter();
out.println("<html><head><script src='./dwr/engine.js'></script><script src='./dwr/util.js'></script></head><body><h1>Hello World</h1></body></html>");
}
public void destroy() {
// do nothing.
}
}
servlet 显示带有消息 HellWorld 的 html 页面并包含 DWR(直接 Web 远程处理)javascript 文件。 DWR javascript 文件从 servlet/dwr/检索。
网络.xml :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>TestDWR2</display-name>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>test.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>WEB-INF/dwr.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<security-constraint>
<web-resource-collection>
<web-resource-name>Extranet resource</web-resource-name>
<description>Extranet resources</description>
<url-pattern>/HelloWorld/*</url-pattern>
<url-pattern>/dwr/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>intranet_admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Extranet</realm-name>
</login-config>
<security-role>
<description>Intranet Admin</description>
<role-name>intranet_admin</role-name>
</security-role>
</web-app>
servlet/HelloWorld 和/dwr 是安全的。登录基于tomcat用户数据库:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<user username="tomcat" password="tomcat" roles="intranet_admin"/>
</tomcat-users>
HTTP请求/响应:
用于 HelloWorld servlet 调用
用于 DWR servlet 调用 (engine.js)
用于 DWR servlet 调用 (util.js)
用于 DWR servlet 调用 (_System.pageLoaded.dwr)
如您所见,每个请求的 JSESSIONID 更改,这是我的问题,我有一段时间无法解决...
最近几天我还在进步。我现在知道问题仅在 servlet 安全时出现:
<web-resource-collection>
<web-resource-name>Extranet resource</web-resource-name>
<description>Extranet resources</description>
<url-pattern>/HelloWorld/*</url-pattern>
<url-pattern>/dwr/*</url-pattern>
</web-resource-collection>
如果删除此安全性,则每个请求返回相同的 JSESSIONID。为什么?我说这与DWR无关。当我调用一个servlet返回另一个JS,比如jQuery时,我遇到了同样的问题。
你能帮帮我吗?
你可以在这个链接上找到部署到tomcat(Tomcat 7)的war来发现问题:
您可以在此链接上找到代码源:
非常感谢。
最佳答案
我没有检查 wars,但这可能是 Tomcat 7 中默认打开的 session 固定问题。它基本上会在经过身份验证时更改 session ID。检查更多并尝试关闭以查看是否是您的问题 http://java.dzone.com/tips/turning-session-fixation
关于Java Servlet - 当 servlet 是安全的时不同的 JSESSIONID。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26755318/
我是 Angular 5 和 Spring MVC 的新手,我正在尝试为我的应用程序创建登录功能。 我们没有使用 Spring Security,因为我们只使用 Spring MVC 模块提供的基本
我正在尝试从我的 servlet 重定向到外部域 URL。但重定向会在 url 末尾添加 ;jsessionid=ghdssdf... 。我不知道如何防止将 jsession id 附加到我的 url
使用浏览器对我的服务进行身份验证后,我发现一个包含以下键/值对的 cookie: JSESSIONID=40d4b01c47ddb858718291d319a1a817d3037fdc6f2c341c
所以,我正在构建一个应用程序,我希望用户能够向另一个用户发送链接并处理相同的数据。几乎不需要将数据保留超过 15 分钟,并且我希望应用程序不必依赖数据库。 我当前有一些变量存储在 HttpSessio
我试图了解 JSessionId 的唯一性和范围,因为它涉及多个不相关的域。 我已阅读 Under what conditions is a JSESSIONID created? ,还有一些问题 -
我听说 ebay 使用 Java,但我登录时没有找到 jsessionid cookie。 是否存在跟踪用户 session 的替代技术?如何避免使用 jsessionid? 最佳答案 有可能、许多不
我很好奇 jsessionid 使用哪种编码。 jsessionid 值始终只包含字母数字字符,不包含其他字符,这使得 URL 中的这种编码对于用户来说更安全。 最佳答案 session ID 的格式
要求是登录前后JSESSIONID必须不同。 流程是login.jsp -> loginwebaction -> loginsuccess.jsp -> filter -> otheraction 我
我需要禁用或删除 URL 中的 Jsessionid 如何做到这一点,它是否会在 ajax 请求期间引起任何副作用。我使用的是 struts 1.2 版本。 最佳答案 Servlet 3.0 允许您指
我正在使用带有 jsessionid 的 URL,例如。 http://localhost:8080/myservlet;jsessionid=123 然而,每当我在 HttpServletReque
这个问题在这里已经有了答案: Where is JSESSIONID stored? (JavaEE) (2 个答案) 关闭 8 年前。 我正在研究特定 Web 应用程序的工作原理,并且我想确切地确
我们有一个包含多个负载平衡和 tomcat 服务器的云环境,服务于单个 Web 应用程序(用 angularjs、spring-mvc 和 java 编写的单页面应用程序)。 由于网络配置中的一些未知
JSESSIONID 的创建时间/条件是什么? 它是按域划分的吗?例如,如果我有一个 Tomcat 应用服务器,并且我部署了多个 Web 应用程序,是否会为每个上下文(Web 应用程序)创建一个不同的
为了说明一些情况,我正在开发一个 API 来跟踪网站上的用户操作(匿名用户也是如此)。到目前为止,我们使用 jsessionId 来识别每个用户及其操作。 该 API 现在可以在 Tomcat 和 J
在用户进行身份验证时重置 session cookie 被认为是一种良好的安全做法。 如何用 Java 做到这一点? 到目前为止我的尝试是成功的,但我想知道是否有更好的方法: public stati
我有这样的疑问,JSESSIONID 的超时控制参数是什么?。具体考虑这个用例:我有一个移动客户端,它正在维护发送带有 JSESSIONID header 的 cookie 的 session ,但是
我知道这几乎是同一个问题:ask by Joe 我有一个网络应用程序。当我关闭窗口(单击浏览器上的 X)时,它将调用注销功能。 问题是当我打开 Web 应用程序并在不同窗口(新窗口或另一个选项卡)上打
创建JSESSIONID的时间/条件是什么? 是每个域吗?例如,如果我有一个 Tomcat 应用程序服务器,并且我部署了多个 Web 应用程序,是否会为每个上下文(Web 应用程序)创建一个不同的 J
我在使用 CURL 获取网页时遇到了一些问题。我认为原因是我的 CURL 请求不包含 JSESSIONID 值。 这是我的 cookie 文件最后的样子: direct.orange.co.il FA
我成功地为我的登录端点发送了一个 POST 请求,并创建了一个 JSESSIONID。我知道 JSESSIONID 由我在线程顶部的 HTTP Cookie 管理器保存,因为我看到它被用于线程中的几个
我是一名优秀的程序员,十分优秀!