2011-01-09 22 views
0

ねえ、みんな!新しいCakeアプリケーションを開発し、CakeからID-in-URLルーティングを削除する方法があるのか​​どうか疑問に思う。おそらく、POSTのIDを何とかして渡すことによって? IDをURLパラメータとして渡すことは、本当に面倒で危険なようです。ありがとう!CakePHPのURLからIDを削除しますか?

+0

いいえ、真剣に... ** "ばか" **? – deceze

+0

@deceze:[このリンクは申し訳ありません:]](http://www.google.co.jp/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

一部の人は、プライマリキーIDの代わりにスラッグを使用することをお勧めします。このページのURLのremoving-id-from-cakephp-url部分です。 SluggableBehaviorを見てください。

しかし、スラッグに変更されます。したがって、パーマリンクを使用する場合は、URLに主キーを持つと便利です。 StackOverflowは、SEOの理由だけでなく、他のサイトからのパーマリンクの両方をサポートできるように、両方を行います。 :)

セキュリティ上の問題に関しては、他の回答から、アプリケーションを安全にするための他の方法があることが既に指摘されていると思います。

関連する問題