在http请求的页面如果有type=password的input框,Firefox的控制台有如下提示: Password fields present on an insecure (http://) page. This is a security risk that allows user login credentials to be stolen.
为了解决这个问题,要使用https请求。用到了google code下的struts的ssl插件 struts2-ssl-plugin-1.2.1.jar
strtus.xml 中部分配置:
<constant name="struts2.sslplugin.httpsPort" value="8443"/>
<constant name="struts2.sslplugin.annotations" value="true"/>
<package name="login-default" extends="ssl-default">
<interceptors>
<interceptor name="aInterceptor" class="com.dib.system.interceptor.A" /> <interceptor-stack name="loginStack">
<interceptor-ref name="secure">
<param name="httpPort">8443</param>
<param name="useAnnotations">false</param>
</interceptor-ref>
<interceptor-ref name="aInterceptor" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="loginStack" />
<global-results>
<result name="noLogin" type="redirect">login.do</result>
</global-results>
</package>
<package name="statisticData" extends="ssl-default" namespace="/">
<action name="countSysMessage" class="homeInfoSettingAction" method="countSysMessage"/>
</package>
login-default中,因为有其它拦截器,需要显示的声明使用了secure拦截器,这里useAnnotations设置为false表示所有继承了该包下的方法将被重定向为https. 如果为true, 则标记了@Secured的方法才重定向为https.
StatisticData中,直接继承了ssl-default, 将使用constant中的默认设置,annotations为true, 标记了@Secured的方法才重定向为https.
测试时发现一个现象:如果用https访问继承了ssl-default但未标记为@Secured的方法,将无法访问。
转载于:https://my.oschina.net/u/2406034/blog/515220
分享到:
相关推荐
struts2-ssl-plugin-1.2.1.jar
在Web服务器(如Tomcat、Jetty等)的配置中,需要为HTTPS设置监听端口和SSL密钥库。例如,在Tomcat的`server.xml`中: ```xml SSLEnabled="true" maxThreads="150" minSpareThreads="25" maxSpareThreads="75...
SSL(Secure Sockets Layer)和Struts是两个在IT领域中至关重要的概念,尤其是在网络安全和Web应用程序开发中。本文将详细探讨SSL与Struts的安全漏洞及其利用方式。 首先,SSL(Secure Sockets Layer)是一种安全...
这篇博客文章“Struts2添加SSL功能”将指导我们如何在Struts2应用中集成SSL,以增强网站的安全性。 首先,理解SSL/TLS工作原理是至关重要的。这些协议通过创建一个安全的通道,确保网络通信的隐私和完整性。它们...
Struts2是一个非常流行的...总结起来,配置Struts2应用支持HTTPS涉及服务器SSL配置、Struts2配置、过滤器设置以及可能的拦截器实现。通过这些步骤,可以确保基于Struts2的Web应用在传输敏感数据时具有较高的安全性。
至于在Struts2.0中使用HTTPS,我们可以借助 `struts2-ssl-plugin` 插件。在Struts2的配置文件中添加以下拦截器配置: ```xml <param name="useAnnotations">false ``` 然后在需要使用HTTPS的Action...
"httpd-2.2.22-win32-x86-no_ssl.msi"是Windows环境下Apache HTTP服务器2.2.22版本的安装程序,不包含SSL支持。在部署Struts应用时,Apache服务器通常作为前端Web服务器,负责接收HTTP请求,然后通过mod_proxy等模块...
对Apache Jakarta Struts框架的扩展,允许开发人员配置Web应用程序以在http和https协议之间自动切换。 配置是在Struts config xml文件中执行的。
openssl实在太庞大,自己写了一个可移植各个平台的简易SSL客户端。 大概化了15个工作日,算是比较复杂的东西了。 这个代码和openssl或者https://login.passport.com测试通过。 要说明的是这个代码没有解决rsa算法,...
- **配置web.xml**:设置项目的初始化参数,如Struts 2的过滤器等。 ##### 5. 实现核心功能 - **用户模块**:实现用户注册、登录、个人信息修改等功能。 - **房源模块**:实现房源发布、浏览、搜索等功能。 - **...
Struts2 SSL Plugin是针对Java开发的Web应用框架Struts2的一个扩展插件,主要用于实现安全套接层(SSL)的支持。在理解这个插件之前,我们先来了解一下Struts2和SSL的基础知识。 Struts2是Apache软件基金会的一个...
这包括设置SVN仓库的路径,启用SSL(如果需要安全连接),以及定义访问控制规则。 3. **创建SVN仓库**:使用`svnadmin`命令行工具创建一个SVN仓库。仓库是存储项目文件的地方,可以理解为一个虚拟的文件系统。例如...
- **SSL/TLS**:确保通信过程中的数据加密,保护用户敏感信息。 - **权限控制**:根据用户角色设定不同的操作权限,如普通用户只能查看账户信息,管理员则可以进行账户管理。 **6. 视图展示** - JSP:作为视图层...
useSSL=false&serverTimezone=UTC jdbc.username=myusername jdbc.password=mypassword ``` 接下来,我们将创建一个实体类,代表我们将在数据库中操作的数据表。假设我们有一个`User`表,可以创建一个对应的`User....
useSSL=false&serverTimezone=UTC jdbc.username=your_username jdbc.password=your_password jdbc.driver=com.mysql.cj.jdbc.Driver ``` 现在,我们创建一个DAO(数据访问对象)类,用于与数据库交互。例如,创建...
5. **安全考量**:确保Cookie的安全性至关重要,应设置为HTTP Only以防止JavaScript注入攻击,同时使用SSL/TLS加密传输以保护数据在传输过程中的安全。 6. **异常处理**:设计合理的错误处理机制,如Ticket验证失败...
### JSP和Struts解决方案深度解析 #### 一、JSP与Struts概述 JSP(Java Server Pages)和Struts是构建企业级Web应用程序的关键技术。JSP是一种基于Java的服务器端脚本语言,它允许开发人员在HTML文档中嵌入Java...
useSSL=false&serverTimezone=UTC" username="your_username" password="your_password" maxActive="100" maxIdle="30" maxWait="10000"/> ``` 在视图层,我们通常使用JSP页面展示数据。例如,`list.jsp`用于...
此外,还可以通过验证码、SSL/TLS等方式增强登录的安全性。 通过这个教程,你将学习到如何整合Struts框架与DAO模式,实现用户登录功能,理解它们在Web应用程序中的作用和交互方式。同时,这也将帮助你掌握Java Web...
Struts2是一个流行的Java web框架,它主要用于构建企业级的MVC(模型-视图-控制器)应用程序。在Struts2中集成JavaMail是为了...此外,根据邮件服务器的不同配置,可能还需要设置其他属性,如端口号、SSL/TLS支持等。