1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

GET Parameter einbauen

Dieses Thema im Forum "Konfiguration" wurde erstellt von wunsch-erfueller.de, 4. August 2013.

  1. wunsch-erfueller.de

    Registriert seit:
    19. Mai 2012
    Beiträge:
    8
    Zustimmungen:
    0
    Hallo,

    ich habe vor von einer Seite aus einen Link einzubauen, welcher auf die Linkseite verweist. Davor möchte ich eine Art Zwischenseite einbauen, wo der ursprungslink mit übernommen wird und auch wieder angeklickt werden kann.

    Kann mir jemand helfen, wie ich da vorzugehen habe!?

    Danke
     
  2. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
    Mal auf die Schnelle probiert, unter Localhost hat es funktioniert, im Web möchte ich es nicht testen.

    Du verlinkst von jeder beliebigen Seite mit welchen Links auch immer auf die /zwischenseite/ und übergibst dabei die eigentliche Zielseite mit dem Parameter 'zielseite'. Ein Beispiel wie der Link auf der abgehenden Seite, der auf die Zwischenseite verweist, aussehen sollte:

    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Damit das funktioniert, müsstest Du noch ein kleines Plugin aktivieren, welches Du in der Zwischenseite mit Short-Code einfügen kannst.


    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Und denke daran, jede Übergabe kann zu einer Schwachstelle werden, wenn nicht genügend abgesichert und gefiltert.
     
    #2 Melewo, 4. August 2013
    Zuletzt bearbeitet: 4. August 2013
  3. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
    Edit: Habe mir gerade überlegt, ich würde es so nicht machen, denn andere sehen Deine GET-Parameter ebenfalls und könnten nun ihre eigenen Links auf Deiner Zwischenseite anbieten, in dem Sie diese als Wert mit dem QueryString übergeben. Beispiel:

    "http://localhost/wordpneu/zwischenseite/?zielseite=www.example.com/eine-anstoessige-seite.html"

    Somit genügt die Prüfung mit isset und empty und die Filterung mit preg_replace noch nicht, zusätzlich müsstest Du noch alle Deine zu übergebenen Zielseiten in ein Array aufnehmen und erst prüfen, ob sich die Zielseite im Array befindet.
     
  4. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
    So ist die Sache schon ein wenig sicherer, beim ersten QueryString wird ein Link zur Zielseite auf der Zwischenseite ausgegeben, beim zweiten nicht, da nicht im Array enthalten.

    "http://www.example.com/zwischenseite/?zielseite=www.example.com/irgend-etwas.html"
    "http://www.example.com/zwischenseite/?zielseite=www.example.com/eine-anstoessige-seite.html"

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Dass mir hier localhost/wordp neu/ durchrutscht bei der letzten Antwort, war zumindest nicht beabsichtig. Habe wohl genug gespielt für heute.
     
  5. formateins

    formateins Gast

    Dafür hat Wordpress eigens ein Array mit Query-Variablen. Obendrauf kann man das mit md5 einfach maskieren.

    Im Prinzip das Array um einen Key ergänzen (bspw. $qvars[] = "zielseite";). Nach Überprüfung ob der Key in $querydata zur Verfügung steht, füllt man ihn mit den entsprechenden Daten. Verifizierung über $wp->query_vars.

    Und wenn man mag, kann man seine eigene Rewrite-Rule ergänzen, damit das auch "fancy" ausschaut (bspw. www.domain.de/seite/www.zielseite.de/.

    HF & GL
     
  6. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
    Ich lerne eigentlich ganz gern dazu. Einzig sich erst einmal durch verwendbare WP Funktionen, APIs und Methoden durchwurschteln, was mit bekannten PHP-Funktionen in Minuten erledigt ist, finde ich ab und an weniger berauschend. Nach der ersten Stunde sah es mal wieder bei Stack Overflow für den ersten Teil vielversprechend aus.

    Beim mittleren Teil bin ich über einen Thread von Dir gestolpert, der zumindest nicht allzu prall mit hilfreichen Antworten von anderen Usern gefüllt zu sein scheint.

    http://forum.wpde.org/plugins-und-widgets/103795-rewrite-permalinks-und-add_rewrite_rule.html

    Aber danke, sonst wüsste ich augenblicklich noch weniger. Nur, soweit ich das bisher verstanden habe (wobei ich nicht allzu viel richtig verstanden haben muss), geht es dann nicht mehr mit einer einfachen Lösung ab, sondern würde in einem mehr oder weniger ausgereiften Plugin münden.
     
  7. Melewo

    Melewo Well-Known Member

    Registriert seit:
    8. Juli 2013
    Beiträge:
    3.097
    Zustimmungen:
    0
    Da mir so etwas wie was formateins schrieb ab und an keine Ruhe lässt, habe ich gestern noch bis des Nachts gegen 03.00 Uhr gesucht und getestet, bin aber erst heute fertig geworden. Getestet wurde die Übergabe von Links sowohl mit als auch ohne QueryString mit Links nach folgendem Muster, wobei beide Schreibweisen nun funktionieren:

    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Als problematisch erwies es sich für die Rewrite-Regeln, wenn im Wert ein / Schrägstrich enthalten ist. In diesen Fällen finde ich es bisher einfacher, den zu Wert zu splitten und auf zwei Parameter aufzuteilen.

    Auf eine Überprüfung mit in_array würde ich nicht verzichten, da sonst jeder beinahe jeden beliebigen Link übergeben kann. Nur dass jetzt beide Schreibweisen im Array notiert werden müssen, also mit und ohne abschließenden Slash, finde ich noch nicht berauschend. Werde da noch einmal gelegentlich schauen, ob sich das besser regeln lässt.

    Bei der Übergabe ohne sichtbaren QueryString werden die Werte bereits durch die Rewrite-Regeln auf erlaubte Zeichen gefiltert. Wie es sich bei der Übergabe mit ?QueryString verhält, habe ich noch nicht richtig getestet. Bin eigentlich dafür, dass alles rausfliegt, was da nicht hineingehört, somit lasse ich die RegEx mit preg_replace erst einmal drinne, zumindest bis ich es vielleicht irgendwann einmal besser wissen sollte.

    Mit index.php?name=zwischenseite bin ich mir ebenfalls nicht sicher, bei mir funktioniert es nur so, doch das könnte wohl von den Einstellungen abhängig sein, ob statt name ein anderer Parameter gewählt werden müsste.

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden