kostenloser Webspace werbefrei: lima-city


HTTP-Header bei fehlerhaft abgesendetem Formular

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    biolauri

    biolauri hat kostenlosen Webspace.

    Liebe Bürgerinnen und Bürger ;)

    mich würde interessieren, welchen HTTP-Statuscode man im Falle eines falsch eingegebenen Formulares sendet (könnte)?
    Soll der allgemeine 400 - Bad Request gesendet werden? Oder was meint ihr?

    Noch ein paar Infos: ich habe ein Formular, dass bei Fehleingaben (v.a. bei Spamverdacht) auf eine andere Seite umleitet. Da würde ich gerne einen Statuscode mitsenden, falls die Crawler von Suchmaschinen das Formular (versehentlich) absenden.

    Edit: Ich habe gerade gesehen, dass es im HTML-Forum ist. Ich hatte eigentlich Internet Allgemein bei der Auswahlliste gewählt. Kann sein, dass dadurch, dass ich auf Erstellen im Unterforum HTML geklickt habe und dann erst ausgewählt habe. Tut mir Leid.
    Wäre nett, wenn das jemand verschieben könnte. Passt ja nicht so ganz zu HTML/CSS/JavaScript. Danke schon einmal :)

    Beitrag zuletzt geändert: 23.4.2012 14:17:14 von biolauri
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. biolauri schrieb:
    Da würde ich gerne einen Statuscode mitsenden, falls die Crawler von Suchmaschinen das Formular (versehentlich) absenden.:)


    Ein ordentlicher Crawler schickt keine Formulare ab! Crawler aus dubiosen Quellen, würden sich vermutlich nicht für Statuscodes interessieren. Den Aufwand kannst Du dir also sparen. :wink:
  4. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    fatfreddy schrieb:
    Ein ordentlicher Crawler schickt keine Formulare ab! Crawler aus dubiosen Quellen, würden sich vermutlich nicht für Statuscodes interessieren. Den Aufwand kannst Du dir also sparen. :wink:
    Abgesehen davon: wird überhaupt irgendwo wegen einem falsch ausgefüllten Formular ein anderer HTTP-Statuscode geschickt?
    Bis jetzt habe ich jedenfalls sowas noch nie gesehen...

    Der Sinn ist auch nicht wirklich erkennbar, da ja der Benutzer irgendwie auf seine Fehler reagieren soll und nicht der Browser. Und nur wegen Crawlern ist übertrieben, das hat fatfreddy aber schon beschrieben.
  5. Autor dieses Themas

    biolauri

    biolauri hat kostenlosen Webspace.

    fatfreddy schrieb:
    Ein ordentlicher Crawler schickt keine Formulare ab! Crawler aus dubiosen Quellen, würden sich vermutlich nicht für Statuscodes interessieren. Den Aufwand kannst Du dir also sparen. :wink:

    Der Googlebot sendet Formulare ab. Und ich würde ihn mal als sehr guten Bot klassifizieren.

    Zu finden im deutschen Blog der Webmaster-Zentrale: http://googlewebmastercentral-de.blogspot.de/2008/04/crawling-von-html-formularen.html.


    Außerdem kann sowas ja auch passieren, wenn man über einen Link mit URL-Parametern ein Formular 'abschickt'.

    hackyourlife schrieb:
    Abgesehen davon: wird überhaupt irgendwo wegen einem falsch ausgefüllten Formular ein anderer HTTP-Statuscode geschickt?
    Bis jetzt habe ich jedenfalls sowas noch nie gesehen...

    Der Sinn ist auch nicht wirklich erkennbar, da ja der Benutzer irgendwie auf seine Fehler reagieren soll und nicht der Browser. Und nur wegen Crawlern ist übertrieben, das hat fatfreddy aber schon beschrieben.

    Ich weiß, dass es nirgendwo gemacht wird. Ich würde nur gerne trotzdem eure Meinung wissen ;)
    Ob und wie ich es dann umsetze, ist ja dann meine Entscheidung. ^^
    Außerdem erledigt das ein simples
    header("Status: 400 Bad Request");
    .

    Beitrag zuletzt geändert: 23.4.2012 14:39:17 von biolauri
  6. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    biolauri schrieb:
    Der Googlebot sendet Formulare ab. Und ich würde ihn mal als sehr guten Bot klassifizieren.

    Zu finden im deutschen Blog der Webmaster-Zentrale: http://googlewebmastercentral-de.blogspot.de/2008/04/crawling-von-html-formularen.html.


    Außerdem kann sowas ja auch passieren, wenn man über einen Link mit URL-Parametern ein Formular 'abschickt'.
    Einfacher Tipp um das zu verhindern: verwend die Methode
    POST
    . Solche Anfragen können nicht so einfach ausversehen gesendet werden... und der Googlebot schickt anscheinend auch keine Posts...
  7. Autor dieses Themas

    biolauri

    biolauri hat kostenlosen Webspace.

    hackyourlife schrieb:
    Einfacher Tipp um das zu verhindern: verwend die Methode
    POST
    . Solche Anfragen können nicht so einfach ausversehen gesendet werden... und der Googlebot schickt anscheinend auch keine Posts...

    Leut dem Post nicht, genau. Danke.
    Aber das macht nicht immer Sinn. Z.B. kann man von einer E-Mail aus (ausgenommen diese nervigen HTML-Mails) keine
    POST
    -Anfragen senden. Dafür braucht es dann die
    GET
    -Methode.
  8. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    biolauri schrieb:
    Aber das macht nicht immer Sinn. Z.B. kann man von einer E-Mail aus (ausgenommen diese nervigen HTML-Mails) keine
    POST
    -Anfragen senden. Dafür braucht es dann die
    GET
    -Methode.
    Dafür kannst du in Mails ganz normal auf eine Seite zeigen die nur für Mails gedacht ist und per GET Parameter übergeben und auf der Seite prüfen ob alle Parameter richtig gesetzt wurden;
    wenn ja: normale Seite
    wenn nein: Weiterleitung auf die Startseite, sodass gar nicht auffällt, dass hier eigentlich eine Datenauswertung stattfindet.

    Dabei brauchst du nur mit
    isset()
    prüfen ob alle Parameter vorhanden sind. Der Googlebot (oder sonst irgend ein Bot) muss dann wissen, welche Parameter er überhaupt setzen muss, was er vermutlich aber nicht wissen wird...
  9. Autor dieses Themas

    biolauri

    biolauri hat kostenlosen Webspace.

    hackyourlife schrieb:
    Dafür kannst du in Mails ganz normal auf eine Seite zeigen die nur für Mails gedacht ist und per GET Parameter übergeben und auf der Seite prüfen ob alle Parameter richtig gesetzt wurden;
    wenn ja: normale Seite
    wenn nein: Weiterleitung auf die Startseite, sodass gar nicht auffällt, dass hier eigentlich eine Datenauswertung stattfindet.

    Dabei brauchst du nur mit
    isset()
    prüfen ob alle Parameter vorhanden sind. Der Googlebot (oder sonst irgend ein Bot) muss dann wissen, welche Parameter er überhaupt setzen muss, was er vermutlich aber nicht wissen wird...

    Das würde so gehen. Aber die Frage ist dann, ob eine zusätzliche Seite nicht mehr Aufwand ist, als eine Zeile, die den Statuscode auswirft, mit aufzunehmen. ;-D

    Mir gehts bei der Frage auch nicht, was es für Alternativen gibt. Da gibt es ja viele. Z.B. ist es sehr leicht, Bots zwar das Formular indexieren zu lassen, ohne dabei es per
    GET
    abzuschicken, indem man in die robots.txt folgende Zeile schreibt:
    User-agent: *
    Disallow: /formular?
    Wichtig hierbei ist das Fragezeichen am Ende. Dadurch wird der Query-Teil der Anfrage nicht mehr erlaubt, wodurch der Bot das Formular nicht mehr abschicken darf. Das unausgefüllte Formular jedoch ist weiterhin erlaubt.
    Bei der robots.txt wird ja nicht exakt der String verglichen, sondern immer nur ab dem Anfang.

    Bei der Frage ging es mir eher ums Prinzip. :-D

    Edit: Will sich jetzt niemand mehr dazu äußern? Ich würde mich gerne noch über weitere Meinungen dazu erfreuen! ;-)

    Beitrag zuletzt geändert: 25.4.2012 9:53:52 von biolauri
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!