2011-01-10 7 views
3

Ich baue eine Web-App und arbeite gerade an der Abmeldefunktion (einfache Sitzung unset/Meta Refresh/Redirect-Code auf logout.php)Welchen Vorteil hat die Verwendung eines Formulars gegenüber einem Link für die Abmeldefunktion?

Mögliche eine einfache Frage (obwohl ich auf Google auf Nein gejagt habe) Avail), aber für den Logout-Button auf der Website, gibt es einen Vorteil bei der Verwendung eines Formulars, das Logout.php gegen eine Schaltfläche Grafik mit einem a href, die auf die gleiche Seite verweist abgibt?

Funktional scheinen sie beide gleich zu funktionieren, aber gibt es ein potenzielles Sicherheitsproblem etc?

Vielen Dank!

Antwort

1

Es gibt zwei Dinge, die hier relevant sein miiiight:

  1. Wenn es eine Form ist und es POSTs, anstatt sich, Sie Notwendigkeit zu umleiten um die üblichen Browser Zurück-Taste + POST-Daten Unannehmlichkeit zu erhalten . Natürlich erwähnen Sie bereits Umleitungen, das ist wahrscheinlich nicht relevant.
  2. Da HTTP-GET-Anfragen idempotent sein sollen, sollte "der richtige Weg" mit POST sein, was ein Formular bedeutet. Diese Argumentation fehlt jedoch in der Praxis. Sie sollten mit Links in Ordnung sein, es sei denn, ein schlechtes und/oder falsch konfiguriertes Browser-Addon beschließt, Ihren Benutzern das Leben schwer zu machen.

Im Wesentlichen sollte es keinen praktischen Unterschied geben.

+1

Praktische Begründung: Pre-Caches. Als Google eine veröffentlichte, fand eine Reihe von Foren heraus, dass jeder Post, den ein Admin angesehen hat, gelöscht wurde, weil er einen Link anstelle eines Formulars verwendet hatte. – Quentin

3

Nein, es sei denn, Sie müssen etwas in das Anmeldeskript posten, beide Methoden funktionieren einwandfrei.

Ein Link ist möglicherweise einfacher zu durchsuchen als ein Formular, aber da dies eine Schaltfläche zum Abmelden ist, macht das keinen Unterschied.

Ein Link hat den kleinen Vorteil, dass Sie es leicht Lesezeichen setzen können. Ich würde mit einem Link gehen.

Bearbeiten: Überprüfen Sie auch @ Dqhendrick Kommentar über die Verknüpfung. Es ist wahrscheinlich nicht übermäßig wichtig für Ihren Kontext, aber es ist gut, daran zu denken.

+0

Danke Pekka, wirklich zu schätzen – Jamie

+2

zusätzlicher Hinweis - wenn Sie eine GET-Variable für Ihre Abmeldefunktion verwenden, könnte jemand eine Person, die auf Ihrer Website angemeldet ist, eine Nachricht mit einem IMG-Tag senden , die diese Person aus haha ​​protokollieren würde . nicht wirklich ein Sicherheitsrisiko, aber amüsant. – dqhendricks

+0

@dqhendricks sehr guter Punkt. Bemerkenswert für eine große Community-Website mit User Generated Content –

Verwandte Themen