'ASP.Net'에 해당되는 글 6건
- 2009/05/01 Silverlight 서버전송메시지 보안방법
- 2009/03/19 IE8의 WebSlices기능을 웹사이트에 추가하기 (1)
- 2009/03/14 ASP.Net MVC의 무료eBook 공개되었습니다.
- 2008/12/09 WebService의 WSDL및 안내페이지 없애기
- 2008/10/30 BeginRequest,PreSendRequestHeaders를 사용하여 쿠키암호화
- 2007/03/19 ASP.Net와 Java Struts 비교
실버라이트를 사용한 SSL통신 비스므리한 아이디어가 생각나서 적어봅니다..
네고시에이션
1. 세션 생성시에 해당세션에 해당되는 비대칭키를 서버에서 생성해서 세션에 서버의 개인키를 보존
2. 공개키를 클라이언트에 전송(HTML에 집어넣든..Silverlight상에서 수신하든..)
3. 클라이언트는 비대칭키를 생성해서 자신의 공개키를 서버에 전송(서버의 공개키로 암호화해서)
4. 서버는 세션에 클라이언트의 공개키를 보존
5. 클라이언트는 자신의 개인키를 보존. 보존시에는 페이지이동을 고려해야함..
(문제는 클라이언트자신의 개인키를 어디에 보존하느냐??? IsolatedStorage가 사용가능하려나)
암호화 전송시(개인정보,패스워드등)
5. 클라이언트가 서버에 데이터 전송시에 자신의 개인키+서버의 공개키로 암호화해서 전송
6. 서버는 클라이언트에게 서버의 개인키+클라이언트의 공개키로 암호화해서 데이터전송
일반적인 비대칭암호화통신의 방법이지만 먼가뿌듯한 이느낌..-.-;;;
물론 실버라이트랑 서버간의 통신이 대부분 WCF나 Webservice로 이루어지니까
일괄적인 보안설정을 하면되지만.. 보안설정하는것도 꽤 많은 지식과 노력을 요하게되니..
위 기능을 구현한 간단한 컴퍼넌트가 있으면 꽤 좋을듯..
어쨋든 세션당 키가 생성되니 일반적인 웹사이트에서 사용하기에는 충분한 보안레벨인듯..
게다가 javascript연동기능도 만들면 궂이 silverlight로 UI를 만들지 않아도 암호화 가능하다는 사실..
혹시 공개된거 있을려나???
'ASP.Net' 카테고리의 다른 글
| Silverlight 서버전송메시지 보안방법 (0) | 2009/05/01 |
|---|---|
| IE8의 WebSlices기능을 웹사이트에 추가하기 (1) | 2009/03/19 |
| ASP.Net MVC의 무료eBook 공개되었습니다. (0) | 2009/03/14 |
| WebService의 WSDL및 안내페이지 없애기 (0) | 2008/12/09 |
| BeginRequest,PreSendRequestHeaders를 사용하여 쿠키암호화 (0) | 2008/10/30 |
| ASP.Net와 Java Struts 비교 (0) | 2007/03/19 |
개인적으로는 굉장히 마음에 드는 기능입니다.
대략 어떤 기능인지 살펴보자면..
웹페이지상에 WebSlices기능이 적용된 부분이 있다면 마우스 커서가 올라갔을때 위처럼 초록색상자가표시되면서
WebSlices기능이 있는것을 알려줍니다.
그리고 초록색 아이콘을 누르면 아래와같은 창이 나타나 WebSlice를 자신의 브라우저에 추가가 가능합니다.
추가된 WebSlices는 링크바에 표시된 링크를 클릭하면 아래와 같이 간략하게 해당Feed?의 내용을 확인할수 있는데요..
해당 웹사이트에 가지않고 정보를 바로바로 볼수있다는 거죠..
실제로 매일매일 접속하는 사이트가 있는데 대부분이 즐겨찾기를 해놓는다고 해도
원하는 정보에 액세스하려면 몇번의 클릭이 필요한 경우가 있죠..
WebSlices를 서포트하는 사이트라면 그런 불편함이 없어집니다..ㅎ
기능적으로는 RSS의 변형된 형태로 볼수도 있는거 같고 사용가능한 곳은 무궁무진합니다..
기술적으로는 html의 특정코드(HTML Elements의 class속성이 hslice)에 브라우저가 WebSlices로 인식하는 형식입니다.
예를 들어
이건 웹슬라이스입니다.
</div>
다만 주의할건 css를 정의할때 hslice라는 이름을 피해야한다는거..-.-;;
상당히 간편한 방법으로 기능을 추가할수 있죠.
개인적으로는 심플하지만 굉장히 활용도가 높은 아주 좋은 기능이라고 생각합니다.
아주 간단하게 기능추가가 가능하니 샘플코드로 WebSlices 기능을 추가하는 방법을 설명토록 하겠습니다.
<div class="entry-title" style="display:none;">lemonbrain</div> <-- 링크바에 표시되는 타이틀입니다. 데이터갱신시 타이틀도 자동으로 갱신되니까 활용할 방법이 많습니다.-->
<div class="entry-content" >
WebSlices에 표시할 내용
</div>
</div>
위의 간단한 샘플외에도 표시할 데이터를 XML로 건네준다든지..WebSlices내용의 유효기간(유효기간이 지나면 자동으로 갱신해줌)을 정한다던지..
등의 기능이 있으니 더욱 흥미있으신 분들은 아래 링크를 참고해보세요.
http://msdn.microsoft.com/en-us/library/cc196992(VS.85).aspx
'ASP.Net' 카테고리의 다른 글
| Silverlight 서버전송메시지 보안방법 (0) | 2009/05/01 |
|---|---|
| IE8의 WebSlices기능을 웹사이트에 추가하기 (1) | 2009/03/19 |
| ASP.Net MVC의 무료eBook 공개되었습니다. (0) | 2009/03/14 |
| WebService의 WSDL및 안내페이지 없애기 (0) | 2008/12/09 |
| BeginRequest,PreSendRequestHeaders를 사용하여 쿠키암호화 (0) | 2008/10/30 |
| ASP.Net와 Java Struts 비교 (0) | 2007/03/19 |
MS의 .Net플랫폼 부사장인 Scott Guthrie씨가 곧 발매예정인 Professional ASP.Net MVC 1.0의 제1장을 집필했는데..
무료로 써주는 대신에 자신의 집필분에 한해 무료공개한다는 전제조건을 달았다고 하네요..
그리하여 제1장이 무료공개 되었는데요..
1장치고는 내용이 충실해서 개발경험있고 MVC에 대한 개념이 잡힌사람한테는
ASP.Net MVC를 처음 접할때에는 굉장히 유용할거 같습니다.
Scott에게 감사드리며 잘읽겠습니다..
근데 누가 번역좀 ??? -.-
원본
http://weblogs.asp.net/scottgu/archive/2009/03/10/free-asp-net-mvc-ebook-tutorial.aspx
PDF다운로드
http://aspnetmvcbook.s3.amazonaws.com/aspnetmvc-nerdinner_v1.pdf
Amazon책정보
http://www.amazon.com/gp/product/0470384611?ie=UTF8&tag=scoblo04-20&linkCode=xm2&camp=1789&creativeASIN=0470384611
'ASP.Net' 카테고리의 다른 글
| Silverlight 서버전송메시지 보안방법 (0) | 2009/05/01 |
|---|---|
| IE8의 WebSlices기능을 웹사이트에 추가하기 (1) | 2009/03/19 |
| ASP.Net MVC의 무료eBook 공개되었습니다. (0) | 2009/03/14 |
| WebService의 WSDL및 안내페이지 없애기 (0) | 2008/12/09 |
| BeginRequest,PreSendRequestHeaders를 사용하여 쿠키암호화 (0) | 2008/10/30 |
| ASP.Net와 Java Struts 비교 (0) | 2007/03/19 |
웹서비스를 만들고 해당 asmx를 브라우저에서 열면 아래와 같은 안내?용 페이지가 나오는데 보안상 없애고 싶을때는...
web.config에 아래의 빨간 부분을 추가하면 됩니다.
<system.web>
<webServices>
<protocols>
<remove name="Documentation" />
</protocols>
</webServices>
</system.web>
'ASP.Net' 카테고리의 다른 글
| Silverlight 서버전송메시지 보안방법 (0) | 2009/05/01 |
|---|---|
| IE8의 WebSlices기능을 웹사이트에 추가하기 (1) | 2009/03/19 |
| ASP.Net MVC의 무료eBook 공개되었습니다. (0) | 2009/03/14 |
| WebService의 WSDL및 안내페이지 없애기 (0) | 2008/12/09 |
| BeginRequest,PreSendRequestHeaders를 사용하여 쿠키암호화 (0) | 2008/10/30 |
| ASP.Net와 Java Struts 비교 (0) | 2007/03/19 |
Global.asax의 Application_BeginRequest는 클라이언트의 리퀘스트가 발생하고 서버상의 처리가 시작되기 직전에 일어납니다.
즉 해당되는 페이지의 처리를 시작하기 전에 발생하는 이벤트이죠.
반대로 Application_PreSendRequestHeaders는 해당페이지의 서버처리가 끝나고 클라이언트에게 전송하기 직전에 발생합니다.
이걸 이용해서 웹어플리케이션에서 사용하는 모든 쿠키를 한방에 암호화, 복호화 하는 것이 가능합니다.
개발자는 암호화,복호화에 대하여 특별히 인식하지 않아도 안전하게 쿠키를 보존하는 방법을 제공할수 있죠.
Global.asax에 아래의 두 메서드를 추가합니다.
protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
{
string[] keys = Response.Cookies.AllKeys;
for (int i = 0; i < keys.Length; i++) //클라리언트로 전송해야할 쿠키를 루프
{
//ASP.NET_SessionId는 제외함. 이걸 바꿔버리면 새로운 세션으로 인식해버리기때문에..
if (Response.Cookies[keys[i]].Name != "ASP.NET_SessionId")
{
//이 샘플은 Cookie의 값이 하나일 경우만 복호화 처리를 하도록 했습니다.
//약간 수정을 하면 계층구조의 쿠키값도 암호화처리를 할수 있습니다.
if (Response.Cookies[keys[i]].Values.AllKeys.Length <= 1)
{
//이 샘플에서는 방법을 제시할 뿐이므로 실제 암호화 처리를 생략하고
//::xx를 뒤에 추가하는걸로 암호화했다고 정의합니다.
//여기에서 쿠키를 암호화 합니다.
HttpCookie cookie = Response.Cookies[keys[i]];
Response.Cookies.Remove(cookie.Name); //컬렉션키 재정의를 위해 기존쿠키를 컬렉션에서 삭제
cookie.Name = cookie.Name + "::xx";
cookie.Value = cookie.Value + "::xx";
Response.Cookies.Set(cookie); //쿠키를 재등록
}
}
}
}
protected void Application_BeginRequest(object sender, EventArgs e)
{
string[] keys = Request.Cookies.AllKeys;
for (int i = 0; i < keys.Length; i++) //클라리언트부터 전송되어오는 쿠키를 루프
{
//ASP.NET_SessionId는 제외함. 이걸 바꿔버리면 새로운 세션으로 인식해버리기때문에..
if (keys[i] != "ASP.NET_SessionId")
{
//이 샘플은 Cookie의 값이 하나일 경우만 복호화 처리를 하도록 했습니다.
//약간 수정을 하면 계층구조의 쿠키값도 복호화처리를 할수 있습니다.
if (Request.Cookies[keys[i]].Values.AllKeys.Length <= 1)
{
//이 샘플에서는 방법을 제시할 뿐이므로 실제 복호화 처리를 생략하고
//::xx를 지우는걸로 복호화했다고 정의합니다.
//여기에서 쿠키를 복호화 합니다.
HttpCookie cookie = Request.Cookies[keys[i]];
Request.Cookies.Remove(cookie.Name); //컬렉션키 재정의를 위해 기존쿠키를 컬렉션에서 삭제
cookie.Name = cookie.Name.Replace("::xx", "");
cookie.Value = cookie.Value.Replace("::xx", "");
Request.Cookies.Set(cookie); //쿠키를 재등록
}
}
}
}
추가를 한후에 쿠키를 확인하기 위해 페이지를 하나 만들었습니다.
상단에는 현재 쿠키의 이름과 쿠키값을 리스트로 표시해주는 라벨이 있고 아래에는 쿠키값을 추가할수 있는 텍스트박스와 버튼을 배치했습니다.
TestCookie라는 이름의 Cookvalue값을 추가하고 페이지를 리로드 합니다.
그리고 다음 리퀘스트의 HTTP_COOKIE를 확인해보면 쿠키이름과 값이 암호화되서 클라이언트에 저장된것을 볼수 있습니다.
하지만 페이지상에서는 TestCookie인것을 알수가 있습니다.
실제로도 모든 작업을 Request.Cookie["TestCookie"]로 얻어 낼수가 있습니다.
이러한 조그마한 처리만으로도 커다란 세큐티리홀을 막아낼수 있습니다.
더군다나 요즘처럼 개인정보 유출등에 신경쓰이는때에 하나의 좋은 해결책이 될거 같습니다.
'ASP.Net' 카테고리의 다른 글
| Silverlight 서버전송메시지 보안방법 (0) | 2009/05/01 |
|---|---|
| IE8의 WebSlices기능을 웹사이트에 추가하기 (1) | 2009/03/19 |
| ASP.Net MVC의 무료eBook 공개되었습니다. (0) | 2009/03/14 |
| WebService의 WSDL및 안내페이지 없애기 (0) | 2008/12/09 |
| BeginRequest,PreSendRequestHeaders를 사용하여 쿠키암호화 (0) | 2008/10/30 |
| ASP.Net와 Java Struts 비교 (0) | 2007/03/19 |
기사자체는 조금 오래된(1.1기준) 내용입니다만...
1.1과 2.0은 아키텍쳐 자체는 변화가 없기때문에 지금도 해당되는 내용입니다.
읽어보니 Struts와 ASP.Net의 MVC패턴 비교가 상당히 알기 쉽게된거 같아서 올려봅니다.
영문
http://msdn2.microsoft.com/en-us/library/aa478961.aspx
일문
http://www.microsoft.com/japan/msdn/net/aspnet/ASPNet-ASPNet-J2EE-Struts.aspx
'ASP.Net' 카테고리의 다른 글
| Silverlight 서버전송메시지 보안방법 (0) | 2009/05/01 |
|---|---|
| IE8의 WebSlices기능을 웹사이트에 추가하기 (1) | 2009/03/19 |
| ASP.Net MVC의 무료eBook 공개되었습니다. (0) | 2009/03/14 |
| WebService의 WSDL및 안내페이지 없애기 (0) | 2008/12/09 |
| BeginRequest,PreSendRequestHeaders를 사용하여 쿠키암호화 (0) | 2008/10/30 |
| ASP.Net와 Java Struts 비교 (0) | 2007/03/19 |
![]() |
![]() |
|
![]() |
![]() |
![]() |


Prev





Rss Feed