unique link erstellen, der nur eine gewisse Zeit gültig ist...

  • PHP

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Link.

    unique link erstellen, der nur eine gewisse Zeit gültig ist...

    Hallo Leute,

    ich hätte da mal eine Frage...

    Ich möchte gerne, einen uniquen-Link erzeugen lassen, der dann auf eine andere Adresse "versteckt" verlinkt. Dieser unique-Link, soll aber nur eine bestimmte Zeit lang gültig sein... (z.b. 24h).

    Also konkret wäre der Ablauf so:

    Ich führe ein Script aus, welches durch Zeitnehmung, einen uniquen Link erzeugt, der 24h gültig ist. Diesen Link kann ich dann beliebig verschicken (z.B. per email). Wenn der Empfänger die mail mit dem Link bekommt, und er/sie draufklickt, soll eine Abfrage erfolgen, ob dieser Link noch gültig ist. Falls die 24h, seit Erstellung NICHT um sind, soll der User auf eine andere Seite weitergeleitet werden, ABER:
    Der user soll in der Adressleiste nicht die neue Destination, bzw. die Adresse zu der er/sie hinverlinkt wurde sehen, sondern sollte stattdessen nach wie vor nur den ursprünglich erstellten uniquen Link sehen.

    Eine Steigerung wäre dann noch... wenn man ich auch ein Zeitfenster eingeben könnte, für die Gültigkeit des Links...
    Somit, sollte es auch möglich sein, dass z.b. in der Zukunft (erst in 2 Tagen) dann dieser Link "von" "bis" gültig ist... - das wäre ideal... ;)


    Wie geht man sowas an?
    Gibt's da bereits fix fertige scripts etc.?

    Freu mich auf eure Vorschläge und Ideen.

    Danke!

    VG Tim
    Kenne mich mit PHP zwar 0 aus, was mir da so spontan einfällt: Erstelle doch einen x-beliebig aufgebauten Link. Speicher diesen mit deinen Vorgaben und prüfe beim aufruf des Links durch den User ob der Link schon/noch gültig ist und verfahre entsprechend weiter
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    PHP
    MYSQL

    Eine Tabelle in der du einträgst ne ID , Wohin der link geht , datum von , datum bis

    in php prüfst du einfach - wenn der link aufgerufen wird ob aktuelles datum zwischen datum von und bis ist wenn nicht passiert was du willst und wenn ja dann weiterleiten.
    versteckt weiterleiten inwiefern ? Willst du den User auf dubiose phishing seiten lenken oder warum darf man den link nicht sehen ?

    Lösungen bekommst du wenn du im Marktplatz ein Thema aufmachst und dafür eine Gegenleistung springen lässt. Ansonsten sollte dir der obere Ansatz bei Grundkenntnissen alles sagen.

    Greetz
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Hi xChRoNiKx!

    Nein natürlich nicht! Ich mach nix illegales oder etwas in der Richtung. ...

    Der Grund ist der...
    Ich möchte den User auf ne Video-Chat-Plattform leiten, wo ich mich mit ihm/ihr unterhalten kann...
    Das soll aber nur einmal vorkommen. .. - wenn der User später dann mal wieder den link aufruft kommt er/sie wieder automatisch in den Raum. .. und das möchte ich nicht...
    bzw. Soll so nicht sein... - wenn der user den link also kennt bzw. Hat kann er/sie immer wieder dorthin gelangen. .. das möchte ich unterbinden, indem der User gar nicht erst die Info bekommt wohin er weitergeleitet wurde..

    Aber ich weiß nicht so recht wie ich das umsetzen könnte. ..

    Danke für den Ansatz. ... jz weiß ich wie ich es machen muss. .. nur... eine sache... wie generiert man automatisch unique links und wie leitet man dann eben versteckt weiter..?

    VG Tim

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ereza“ ()

    Huhu,

    also entweder nimmst du die MySQL ID´s. Die werden immer automatisch hochgerechnet ( bei jedem neuem eintrag +1 (bei auto-increment ).
    Ist aber nicht so geil da dann jemand der das weiß einfach die ID´s hochzählen kann um zu schauen welcher Link noch geht.

    Anderer weg wäre einen String zu generieren.
    Und diesen dann an dem Link hängen der aufgerufen wird. ;)
    Gerne nutzte ich dazu:

    PHP-Quellcode

    1. md5(time() . mt_rand(1,1000000));


    Gibt aber auch noch andere Möglichkeiten:

    PHP-Quellcode

    1. function getRandomString($length){
    2. $chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
    3. $result = '';
    4. while(strlen($result)<$length) {
    5. $result .= $chars{mt_rand(0,strlen($chars)-1)};
    6. }
    7. return $result;
    8. }


    Einfach aufrufbar per:

    PHP-Quellcode

    1. $random = getRandomString(10); //Wobei die 10 Natürlich für die Anzahl steht.


    Solltest du schon PHP 7 nutzten geht auch:

    PHP-Quellcode

    1. $rBytes = random_bytes(5); // Die 5 erhöhen um natürlich mehr Bytes zu generieren was dann auch gleich mehr zeichen sind.
    2. $rString= bin2hex($rBytes );


    Die Weiterleitung die du ansprichst ist so eine Sache.
    Ich wüsste jetzt nichts genaues wie das gehen soll ausser mit Mod-Rewrite das die URL halt was anderes zeigt als da wo du bist.

    Greetz
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Das mit dem versteckten Link ist fast unmöglich... bisle Sicherheit bringt dir nen Iframe. Sonst müsstest du ne API aufbauen die als Layer zwischen der eigentlichen Plattfrom und dem User fungiert....

    Lg Mokki
    ​Smartnotr - ein intelligentes Notizprogramm
    zum Thread

    Hallo xChRoNiKx,
    hallo Mokki!

    @xChRoNiKx
    Danke für deine Ansätze und die Erklärung!

    @Mokki
    Ja schade... Ich hab mir schon gedacht, dass das nicht so easy ist..

    Danke Leute!

    LG Tim
    @Link

    Hast du für beide Sachen eine Lösung ?

    Ich weiß das ich wenn die Sachen alle bei mir liegen ich das ganze per Mod_Rewrite machen kann.
    Auf anderen Servern bin ich mir nicht so ganz sicher.

    Greetz
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Hi,

    genau, mit htaccess und RewriteRules wär's einfach. Ich vermute aber mal, dass die Überprüfung des Links auf dem eigenen Server stattfindet, die Seite auf die weitergeleitet wird aber auf einem anderen Server. Wenn er da drauf FTP und Datenbankrechte hat, kann er die Überprüfung aber eigentlich gleich dort machen. Falls nicht wird's schwierig bis unmöglich. iFrame ist genauso unsicher. Du könntest dir mit file_get_contents() höchstens die HTML-Ausgabe der Ziel-Seite holen und bei dir ausgeben (ps: möglicherweise muss in der php.ini dann allow_url_fopen auf true gesetzt sein). Dynamische Inhalte (PHP) werden dann aber nicht klappen, du kannst lediglich ne statische HTML-Seite ausgeben.

    Soll der Link eigentlich ab Erstellung 24h gültig sein oder ab Aktivierung (wenn der User den Link den du ihm per Mail geschickt hast anklickt)? Je nach Zweck macht das ein oder das andere mehr Sinn.

    Gibts für dieses Video Chat Dingsbums eine Möglichkeit um die Chatfunktion auf deiner Seite einzubinden? Wär -falls die das anbieten- die einfachste Lösung.


    Link :thumbup:
    Hello World
    @Link da ich aber denke, dass die Seite, da es ja eine Liveübertragung ist, Daten von ihrer Orgin braucht, wird file_get_contents wohl nicht viel bringen.... oder hab ich was falsch verstanden?

    Lg Mokki
    ​Smartnotr - ein intelligentes Notizprogramm
    zum Thread

    Ja, deshalb steht ja dabei dass man damit nur statischen (HTML) content abrufen und ausgeben kann.

    Generell wird sowas in der Konstellation wie du sie dir vorstellst nicht funktionieren können. Nur wenn du Zugriff auf FTP und DB der Videochatwasauchimmerplattform hast. Oder wenn die Einbettung erlauben. Ich sag ja, ich brauch mehr technische Infos zu dem Ganzen.

    Link :thumbup:
    Hello World