2016-03-23 9 views
0

Ich brauche eine Hilfe.Ich muss die ID dynamisch in URL innerhalb Anchor-Tag mit PHP.I Füge meinen Code unten.Wie ID dynamisch in URL mit PHP gesetzt werden

$message='<p>You recently requested to reset your password.You can reset password by following the link below.If you no longer need to rest your password ,you can ignore this message.</p></br><p><a href="http://localhost/spesh/#/resetPass?">Click here</a></p>'; 

Der obige Inhalt wird der Benutzer die E-Mail id.When Benutzer gehen auf click here Link klicken die URL sollte open.Here i id=2 nach ? einstellen müssen mir .Please helfen.

+1

Ihre URL _http: // localhost/spesh/#/resetPass? Id = 2_ kann die ID nicht erhalten – C2486

+0

Glaubst du, nach dem Hash '#' kannst du einen Abfrage-String übergeben und in PHP bekommen? – itzmukeshy7

+0

@ itzmukeshy7 Nein, aber Sie können es in JavaScript bekommen, was ich vermute, dass er es tut. –

Antwort

0

Griff Ihre URL ohne Hashtag #, wenn Sie nicht jede Art von Winkel Routing verwenden,

$var = 2; 
$message = "<a href='http://localhost/spesh/resetPass/?id=$var'>Click here</a>"; 

Warnung zu erhalten:

Wenn jemand Ihre Website wissen, können sie versuchen, alle zurücksetzen Passwort, indem Sie eine beliebige ID verwenden, seien Sie also vorsichtig und verwenden Sie Token in jeder Rücksetzanforderung. wie dies

http://localhost/spesh/resetPass/?id=$var&token=23l4klkffgdkoiowlkfwokew 
+0

wird diese ID dynamisch gesetzt? Ich denke nicht. – RJParikh

-1

Wenn Ihre ID in einem Variablen $ id genannt, dann:

$message='<p>You recently requested to reset your password.You can reset password by following the link below.If you no longer need to rest your password ,you can ignore this message.</p></br><p><a href="http://localhost/spesh/#/resetPass?id={$id}">Click here</a></p>'; 
+0

Ihr Code enthält XSS-Schwachstellen. –

+0

Denkst du, nach dem Hash '#' kannst du den Query String übergeben und in PHP bekommen? – itzmukeshy7

+0

Wie? Ich nehme keine Annahmen darüber vor, dass die ID-Variable extern gesetzt wird - höchstwahrscheinlich würde sie von einer intern überprüften Quelle stammen. @MadaraUchiha – davedavedave

0

Ich könnte mir vorstellen, dass Sie die ID aus der Datenbank irgendwo fühlen, oder von einer Sitzung. In diesem Fall erhalten Sie die ID irgendwie in eine Variable (lass es $userId nennen), entkommen sie für HTML (Cross-Site Scripting (zu verhindern, die ein ausgefallener Name für die HTML-Injektion)), und fügen Sie es zu Ihrem href Attribut :

$userId = htmlspecialchars(somehowGetUserId()); 
$message="<p>You recently requested to reset your password.You can reset password by following the link below.If you no longer need to rest your password ,you can ignore this message.</p></br><p><a href="http://localhost/spesh/#/resetPass?id=$userId">Click here</a></p>"; 

Wo somehowGetUserId() ist eine Funktion, die ich Sie verlassen zu implementieren, wie Sie wollen. Die Idee ist, dass es die Benutzer-ID "irgendwie" zurückgibt.

Beachten Sie, wie ich auch Ihre einfachen Anführungszeichen durch doppelte Anführungszeichen ersetzt habe, um eine einfache Interpolation der Variablen im Inneren zu ermöglichen.

Beachten Sie, dass dies nicht für die serverseitige funktioniert $_GET, da der Browser nichts an den Server nach dem # senden wird, wenn PHP die id=2 sehen wollen, müssen Sie ?id=$userId, bevor die # bewegen in der URL.