kostenloser Webspace werbefrei: lima-city


Formular von außerhalb empfangen verhindern!

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    Hallo LC,
    Mir ist Grade eine Möglichkeit eingefallen das empfangen von einen Formular das nicht auf meiner Seite liegt zu verhindern. Und wollte mal hören was ihr davon haltet. Und ob es eine Gute/Schlechte Idee ist und warum.

    Man kann mit php ermitteln von welcher Seite der Besucher kam. Und ich würde in der Datei wo das zu sichernde Formular hinsenden soll prüfen ob der Besucher als letztes auf meiner Seite war. Wenn nicht wird das Formular nicht ausgewertet. Es wird doch immer mir übergeben wo der Besucher als letztes war oder?
    LG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Da sich Referer manipulieren lassen, wird dir dein Lösungsansatz kein Stück weiterhelfen.
  4. Es gibt keine sichere Möglichkeit um das zu prüfen. Alle Daten die vom Besucher kommen, lassen sich auch von diesem ändern. Der Referer lässt sich z.B. ganz einfach mit einem Addon für Firefox ändern (Bsp: https://addons.mozilla.org/de/firefox/addon/953).
  5. t****k

    Aber du verletzt dabei bzw. Spionierst andere User aus die im Web unterwegs sind. Das ist verboten und da kann man auch eine Strafanzeige bekommen weil niemanden das was angeht woher der User kam bzw. Auf welcher Seite er zuletzt war.

    Gruß Tobi
  6. Du könntest eventuell einen Code in eine Sesion speichern, und diesen Code beim Auswerten des Formulars wieder abfragen. Oder du speicherst beim Absenden einen Wert in die Datenbank und fragst diesen beim Auswerten wieder ab. Die größtmögliche Sicherheit wirst du wohl nur mit einer Kombination aus vielen Sicherheitsmaßnahmen erreichen (z.B. Referer-Prüfung + Session-Cookie + DB-Eintrag). Hundertprozentig sicher kannst du dir jedoch auch so nicht sein.

    mfg
  7. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    tobitk schrieb: Aber du verletzt dabei bzw. Spionierst andere User aus die im Web unterwegs sind. Das ist verboten und da kann man auch eine Strafanzeige bekommen weil niemanden das was angeht woher der User kam bzw. Auf welcher Seite er zuletzt war.

    Gruß Tobi

    ???
    Warum? Es wird doch Automatisch mitgeliefert! Sonnst gäb es ja auch nicht sollte counter wo man anzeigen lassen kann ob der User von google oder lc Kram. Klar ich würde den webseiten Verlauf nicht veröffentlichen aber die letzte Seite wird automatisch an den Server gesendet.
    LG
  8. tobitk schrieb:
    Aber du verletzt dabei bzw. Spionierst andere User aus die im Web unterwegs sind. Das ist verboten und da kann man auch eine Strafanzeige bekommen weil niemanden das was angeht woher der User kam bzw. Auf welcher Seite er zuletzt war.

    Gruß Tobi


    Das ist Quark. Du darfst es sehrwohl. Was meinst du wohl, wiie Google Analytics arbeitet?

    Klar, darf man nicht den Browserverlauf eines Users auslesen und weiter verarbeiten. Jedoch sind sämtliche Daten, die der Browser mitsendet, sozusagen "Open Source" und theoretisch kann man damit machen, was man will, wobei es vereinzelt doch schon Einschränkungen gibt.

    Aber gerade zu Analysezwecken ist es für einen Webseitenbetreiber wichtig, von wo aus die Leute ihre Webseite erreicht haben z.B. Direkteingabe, Google Link usw.

    @christian

    aber die letzte Seite wird automatisch an den Server gesendet.


    Das jedoch nur im "Normalfall".

    Beitrag zuletzt geändert: 3.5.2010 3:30:48 von fabo
  9. Auf den Referrer darf sich nicht verlassen werden. Eine einfache Einstellung in about:config deaktiviert diesen und macht deine Seite unnutzbar.
  10. @christian1603
    ... ob es eine Gute/Schlechte Idee ist ...
    schlecht, weil die vorposter vor mir recht gut beschreiben. eine funktionierende lösung ist tokenized form.
    1. file mit form:
    <?php
    session_start ();
    $_SESSION['token']      = md5 (uniqid (rand (), true));
    $_SESSION['token_time'] = time ();
    
    ?>
    
    <form action="<target>" method="post">
      <input type="hidden" name="token" value="<?php $_SESSION['token']; ?>" />
    
      <!-- weitere form-teile -->
      
    </form>

    2. <target>-file mit validierung:
    session_start ();
    # ...
    if ( isset ($_SESSION['token'] && ($_POST['token'] === $_SESSION['token']) ) {
      // token valid, also kann weiter gearbeitet werden
    } 
    # ...
    hier hast noch die zusätzliche möglichkeit der zeitlichen begrenzung:
    if ( (60 * 2) <= (time () - $_SESSION['token_time']) ) {
      // weniger als 2min. verstrichen, also kann weitergehen
    }
    statt session kannst natürlich file oder database verwenden und die 2min. sind auch nur ein beispiel (ich würde sagen für login sind 30sec. ausreichend ;o)

    Beitrag zuletzt geändert: 4.5.2010 10:34:58 von czibere
  11. 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!