2014-11-26 4 views
1

Asp.Net의 정적 클래스가 보안 위협을 일으킬 수있는 이유가 있습니까? 개체가 현재 세션에만 존재하지 않습니까?정적 클래스 및 보안

감사합니다.

+0

어디서 읽었습니까? 링크 해 주시겠습니까? –

+0

정적 * 클래스가 없어도 특정 세션에 확실히 묶이지 않는 정적 * 변수 *를 만들 수 있습니다. 이 질문은 현재 대답하기에는 너무 모호합니다 ... –

+0

두 번째 질문에 대한 답변 http://stackoverflow.com/questions/194999/are-static-class-instances-unique-to-a-request- 또는 -a-server-in-asp-net –

답변

1

IIS에서 객체는 소위 AppPool에 있습니다. 재활용되지 않는 한 정적 수명이있는 객체를 사용할 수 있습니다. 재활용이 언제 발생하는지 안정적으로 알 수 없기 때문에 정적 변수를 갖는 것은 나쁜 생각입니다. 호출간에 데이터를 보유하지 않는다고 가정하면이 데이터를 사용하여 또는 사이의 데이터를 보유하므로 모두이 동등하게 위험합니다.

정적 클래스 이 데이터을 보유하지 않고 메서드로만 구성되어 있다면 완벽하게 괜찮습니다.

0

정적 클래스에는 인스턴스가 없으므로 모든 개체의 상태를 유지하지 않아야합니다. 그래서 이론적으로 그것은 올바르게 설계된 보안 문제가되어서는 안됩니다.

이제 상대방의 정적 변수가 부적절하게 사용되면 보안 문제가 발생할 수 있습니다.

예를 들어 isLoggedIn과 같은 변수가 정적 인 경우 한 사람이 로그인하면 변수를 사용하는 클래스의 모든 인스턴스에 대해 변수가 true가되므로 다른 모든 모든 사용자가 자동으로 로그인됩니다.

관련 문제