2011-01-09 15 views
0

Hey Leute! Ich arbeite an einer neuen Cake-App und frage mich, ob es für mich sowieso möglich ist, das ID-in-URL-Routing von Cake zu entfernen. Vielleicht, indem ich die ID irgendwie in POST übergebe? Die ID, die als URL param übergeben wird, scheint wirklich schäbig und unsicher zu sein. Vielen Dank!ID aus CakePHP URL entfernen?

+0

Nein, ernsthaft ... ** "schäbig" ** ?! – deceze

+0

@deceze: [Entschuldigung für diesen Link:)] (http://www.google.de/search?q=define%3Ashoddy). In diesem Zusammenhang "shoddy" = "eine minderwertige Methode". – thirtydot

+0

@thirtydot Ich weiß, was "schäbig" bedeutet, vielen Dank. : o) Ich kann einfach nicht darüber hinwegkommen, dass es in diesem Zusammenhang verwendet wird. Auch "minderwertig" zu welcher Alternative? – deceze

Antwort

2

"Shoddy"? Es ist Standard und eine perfekte Lösung, um IDs in der URL zu haben. Schauen Sie sich die URL Ihrer Frage:

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

Außerdem gibt es absolut nichts unsicher über eine ID in einer URL zeigt. Es ist nur eine Zahl, die nichts bedeutet. Wenn ein Benutzer etwas "schlechtes" nur tun kann, indem er diese ID kennt, ist Ihre App gebrochen und unsicher, nicht der ID-Passing-Mechanismus.

Der Versuch, dieses Schema zu umgehen, bedeutet, das Grundprinzip des HTML-Protokolls zu umgehen und eine ganz neue Würmer-Dose zu öffnen.

+1

Auch die Übergabe der ID als POST-Parameter ist nicht sicherer. Wenn jemand die ID aus den POST-Parametern nicht finden kann, ist es ziemlich sicher zu sagen, dass sie nicht die Fähigkeiten haben, die Seite zu hacken. – JJJ

0

Warum kümmert es dich? URL-s sind aus SEO-Gründen optimiert, eine ID spielt keine Rolle, wenn sie nicht zu lang ist. Wenn letzteres in Betracht gezogen wird, einen kürzeren mit Zahlen und Buchstaben zu verwenden, wird es genauso schwer zu erraten sein wie ein langer mit nur Zahlen.

Wenn Sie GET nicht verwenden und die Parameter nicht in der URL angeben, können Ihre Benutzer den Speicherort nicht kopieren und einfügen.

1

Einige Leute bevorzugen Slugs anstelle von Primärschlüssel-IDs. Dies ist der removing-id-from-cakephp-url Teil der URL von dieser Seite. Werfen Sie einen Blick auf die SluggableBehavior.

Allerdings können sich Schnecken ändern. Daher ist es nützlich, den Primärschlüssel in Ihrer URL zu haben, wenn Sie einen Permalink haben möchten. StackOverflow ist beides, so dass es sowohl das Permalinking von anderen Seiten als auch aus SEO-Gründen unterstützen kann. :)

In Bezug auf Sicherheitsprobleme, ich denke, die anderen Antworten haben bereits darauf hingewiesen, dass es andere Möglichkeiten gibt, um Ihre Anwendung sicher zu machen.