2011-08-12 2 views
0

는 주문 응용 프로그램, 사용자 "벤"편안한 API를 .. 세션 보안

을 실행하여 특정 순서를 나열 할 수있을 것입니다 가정

/주문/지금

1 .. 내가 인증 한 것을하기 전에 "Ben"(username/password auth) 사용자 이름을 쿠키 (sha1 체크섬으로 서명)로 보냈습니다. 내가 나에게 말한다 쿠키를받을 각 HTTP 요청에

은 "벤트는"아직 인증,하지만 누가

/주문/

(23)는 ID와 순서 = 23 곳에 속하지 않는

발행에서 그를 막을 수 있습니다 "벤".

그래서 나는 순서 23이 실제로 "벤"에 속하는지 확인하기 위해 몇 가지 논리를 작성해야한다고 생각합니다 ... 이런 종류의 상황을위한 모범 사례 또는 패턴입니까?

직렬 기본 키 ID 대신 "기능 기본 키"를 사용해야합니까?

+0

음 .. 나는 그것을 직접 조사해 왔습니다. 그것은 권한 승격과 관련이 있으며 [링크] (http://www.lulu.com/product/download/owasp-ruby-on-rails-security-guide/4489819)에서 다뤄집니다 ...하지만 계속 연구하고 있습니다. – Lance

+0

또한 a4에서 owasp 상위 10 목록 [OWASP] (https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project) – Lance

+0

또는 [링크] (http://stackoverflow.com/questions/6382900/playframework- owasp-top-10) – Lance

답변

0

주문시 합리적인 자연어 기본 키가 보이지 않습니다. 덜 발견 할 수 있도록하려면 UUID (우연히 발견/주문/4886ed80-dd71-11e0-9572-0800200c9a66)를 사용할 수 있습니다. ...

그러나 어둡게 보안됩니다. 주문의 UUID를 추측 할 수 없더라도 트래픽을 차단할 수 있으며 보안이 모호한 URL을 통해서만 제공되는 경우 주문 리소스로 원하는 모든 작업을 수행 할 수 있습니다.

이렇게하면 인증을 건너 뛸 수 없다는 것을 분명히해야합니다.