2011-01-09 4 views
0

안녕 얘들 아! 새로운 Cake 앱을 작성하고 Cake에서 ID-in-URL 라우팅을 제거해야하는지 궁금합니다. 아마도 POST에서 ID를 어떻게 든 전달할 것인가? ID를 URL 매개 변수로 전달하면 정말 외설적이며 안전하지 않은 것처럼 보입니다. 감사!CakePHP URL에서 ID를 삭제 하시겠습니까?

+0

아니요, 심각하게 ... ** "엉망"** ?! – deceze

+0

@deceze : [이 링크는 유감 스럽습니다.]] (http://www.google.co.uk/search?q=define%3Ashoddy). 이 문맥에서 "외설적 인"= "열등한 방법". – thirtydot

+0

@thirtydot 나는 "장난"이 무엇을 의미하는지 알고 있습니다. 정말 고마워요. : o) 나는 단지이 문맥에서 사용된다는 사실을 극복 할 수는 없다. 또한, "열등한"대안? – deceze

답변

2

"대충"? URL에 ID를 포함하는 것은 표준 관례이며 완벽하게 훌륭한 솔루션입니다. 질문의 URL을 확인하십시오.

http://stackoverflow.com/questions/4638262/removing-id-from-cakephp-url 
            ^^^^^^^ 
             id 

또한 URL에 ID를 표시하는 것은 안전하지 않습니다. 그것은 단지 아무 의미도없는 숫자입니다. 사용자가이 ID를 아는 것만으로 "나쁜"작업을 수행 할 수 있다면 이 손상되고 안전하지 않으며 ID 전달 메커니즘이 아닙니다.

이 구성표를 해결하려면 HTML 프로토콜의 기본 원칙을 해결하고 완전히 새로운 웜 깡통을 열어야합니다.

+1

또한 id를 POST 매개 변수로 전달하는 것이 더 이상 안전하지 않습니다. 누군가가 POST 매개 변수에서 ID를 찾을 수 없다면 사이트를 해킹 할 수있는 기술이 없다고 말하는 것이 안전합니다. – JJJ

0

왜 신경 씁니까? URL은 SEO 이유로 최적화되어 있으므로 ID가 너무 길지 않아도 상관 없습니다. 후자의 경우 숫자와 문자가있는 짧은 문자를 사용하는 것이 좋습니다. 숫자가 긴 문자로 추측하기는 어려울 것입니다.

GET을 사용하지 않고 URL에 매개 변수를 제공하지 않으면 사용자가 위치를 복사하여 붙여 넣을 수 없습니다.

1

어떤 사람들은 기본 키 대신 슬러그을 사용하는 것을 선호합니다. 이 페이지의 URL 부분은 removing-id-from-cakephp-url입니다. SluggableBehavior을 살펴보십시오.

그러나 슬러그 으로 변경됩니다. 따라서 URL에 기본 키가 있으면 퍼머 링크를 사용하려는 경우 유용합니다. StackOverflow는 SEO 이유로뿐만 아니라 다른 사이트에서 퍼머 링크를 지원할 수 있도록 두 가지를 모두 수행합니다. :)

보안 문제와 관련하여 다른 답변을 통해 응용 프로그램의 보안을 유지할 수있는 다른 방법이 있다는 것을 이미 알고 있다고 생각됩니다.

관련 문제