Struts 2 애플리케이션을 보호하려면 다음 보안 구성을 사용할 수 있습니다. 사용하지 않는 기능 비활성화 콘텐츠 유형 확인 활성화 입력 유효성 검사 보안 토큰 활성화 CSRF 공격 방지 RBAC 사용 역할 기반 액세스 제한
Struts 2 프레임워크의 보안 구성 및 강화
Struts 2는 널리 사용되는 Java 웹 애플리케이션 프레임워크입니다. 보안 위협으로부터 Struts 2 애플리케이션을 보호하려면 적절한 보안 구성을 구현하는 것이 중요합니다. 이 튜토리얼은 Struts 2 애플리케이션을 보호하는 방법을 단계별로 안내합니다.
1. 사용하지 않는 기능 비활성화
애플리케이션에서 사용되지 않는 Struts 2 기능을 비활성화하면 잠재적인 공격 표면을 줄일 수 있습니다. struts.xml
구성 파일에서 defaultAction
서블릿 필터를 기본 작업 구문 분석으로 제한하여 이를 달성할 수 있습니다. 예: struts.xml
配置文件中,您可以通过将 defaultAction
servlet筛选器限制为解析默认动作来实现此目的。例如:
<struts> <constant name="struts.action.excludePattern" value="^/.*/$" /> </struts>
2. 启用内容类型检查
Struts 2提供内容类型检查功能,可防止用户提交不匹配应用程序预期的数据类型的内容。它可以通过在 struts.properties
文件中设置几个属性来启用:
struts.multipart.parser=jakarta-multipart struts.multipart.multiPartParser.maximumRequestSize=2MB struts.multipart.multiPartParser.maximumFileSize=1MB
3. 验证输入
验证从用户接收的输入对于防止注入攻击至关重要。Struts 2提供了内置的验证器,您可以在Action类中使用它们。例如:
@Validate public class MyAction extends ActionSupport { private String name; @Required public String getName() { return name; } }
4. 启用安全令牌
安全令牌用于防止跨站点请求伪造(CSRF)攻击,其中攻击者诱使受害者提交不属于他们的请求。Struts 2允许您在提交表单之前创建并验证安全令牌。您可以通过在 web.xml
文件中配置以下内容启用它:
<filter> <filter-name>struts2-token</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2-token</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
5. 限制访问
基于角色的访问控制(RBAC)可确保只有授权用户才能访问应用程序中的某些资源。Struts 2通过 @RolesAllowed
@RolesAllowed("admin") public String doAdminAction() { // 只有管理员才有权访问此操作 }
2 콘텐츠 유형 검사 활성화
Struts 2는 사용자가 애플리케이션에서 예상하는 데이터 유형과 일치하지 않는 콘텐츠를 제출하지 못하도록 하는 콘텐츠 유형 검사 기능을 제공합니다.struts.properties
파일에서 몇 가지 속성을 설정하여 활성화할 수 있습니다: @Namespace("/") @Action("/secureAction") @RolesAllowed("secure") public class SecureAction extends ActionSupport { @Required private String input; @Override public String execute() { if (!TokenHelper.validToken()) { return INPUT; } if (someValidationRule()) { return SUCCESS; } else { addFieldError("input", "Invalid input"); return INPUT; } } }
3. 입력 유효성 검사
🎜🎜삽입 공격을 방지하려면 사용자로부터 받은 입력 유효성을 검사하는 것이 중요합니다. Struts 2는 Action 클래스에서 사용할 수 있는 내장 유효성 검사기를 제공합니다. 예: 🎜rrreee🎜🎜4. 보안 토큰 활성화 🎜🎜🎜보안 토큰은 공격자가 피해자를 속여 자신에게 속하지 않은 요청을 제출하도록 하는 CSRF(교차 사이트 요청 위조) 공격을 방지하는 데 사용됩니다. Struts 2에서는 양식을 제출하기 전에 보안 토큰을 생성하고 확인할 수 있습니다.web.xml
파일에서 다음을 구성하여 활성화할 수 있습니다: 🎜rrreee🎜🎜5. 액세스 제한 🎜🎜🎜역할 기반 액세스 제어(RBAC)는 승인된 사용자만 애플리케이션에 액세스할 수 있도록 보장합니다. . Struts 2는 @RolesAllowed
주석을 통해 RBAC를 지원합니다. 예: 🎜rrreee🎜🎜실용 사례🎜🎜🎜다음은 보안 구성의 포괄적인 사용을 보여주는 샘플 Struts 2 Action 클래스입니다.🎜rrreee🎜이러한 보안 구성을 구현하면 Struts 2 애플리케이션의 보안을 크게 향상시킬 수 있습니다. 자연을 보호하고 일반적인 위협으로부터 보호합니다. 🎜위 내용은 Struts 2 프레임워크의 보안 구성 및 강화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!