2013-05-06 3 views
1

웹 응용 프로그램의 보안에 대해 궁금합니다. 나는 두 가지 질문을 가지고 있으며 그들과 함께 나를 도울 수 있기를 바랍니다.안정적인 웹 응용 프로그램 보안

나는 (나머지를 지원하는) 놀이 틀을 사용하고 있습니다. 내 REST 노선의 일부는 다음과 같습니다 :

GET /mailbox/user/{userId} Application.getMailboxMessages 

나는 경우

1에 관한 두 가지 질문이 있습니다. 내 경로에 userId을 두는 것이 보안 위험이 있습니까? (모두의 userId 내가해야 할 일이다 통과하는 서버에 세션에서 userId을 받고하지 않는 이유는 무엇입니까?)

첫 번째 URL 내 자바 스크립트 파일에 userId을 배치하는 날 리드.

$.ajax({ 
    type:"GET", 
    url:"/mailbox/user/"+window.userId, 
    success : function() {....} 
}) 

2. 자바 스크립트에 userId을 삽입하는 것이 보안 위험입니까?

3. 아약스 사용과 상호 작용하는 다른 사용자 ID도 어떻게됩니까? 예를 들어 는 :

$.ajax({ 
    type: "POST", 
    url : "/sendMessage/userFrom/"window.userId+"/userTo/"+ someTargetUserVar , 
    success: function() {//update some gui here} 
}) 

당신에게

답변

2

광고 감사합니다. 1. 배치 사용자 ID가 보안 위험이 아니라, 기본적으로 괜찮 (하지만 당신은 분명 백엔드에서 세션에서 그것을 얻을 수, 때로는 URL의 convension은/편지함/사용자/자기와 같은 링크를 사용하는 것입니다

광고. 위와 2

3. 주어진 요청이 기록 된 사용자에게만 유효하면 비 유효 사용자의 ID에 대한 오류 코드를 반환하거나 URL에 ID를 전달하지 마십시오. 세션에서 가져온 다음/mailbox/user/self를 사용하여 API 사용자의 의도를 명확히하십시오.

+0

ok, userId를 서버에 전달할 수 있지만 현재 연결된 서버 세션에 대한 유효성을 검사해야합니다. 사용자입니까? –

+0

예, 그게 가야 할 길입니다. 세션에서 d. –

관련 문제