2016-03-23 12 views
0

Tek bir yardıma ihtiyacım var. PHP'yi kullanarak bağlantı kodu içinde URL'yi dinamik olarak URL'ye ayarlamanız gerekiyor. Kodumu aşağıya ekliyorum. kullanıcının e-posta ID'niz kullanıcıyı gidecekPHP'yi kullanarak URL'de dinamik olarak kimlik nasıl ayarlanır

$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>'; 

yukarıdaki içerik URL open.Here i bana yardım zarar bulursanız ? sonra id=2 ayarlamak gerektiğinde click here bağlantısını tıkladığında. Herkes web sitenizi biliyorsanız

hepsi sıfırlamayı deneyebilirsiniz: Eğer

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

Uyarı almak için, açısal yönlendirme her türlü kullanmıyorsanız

+1

sizin url _http: // localhost/spesh/#/resetPass? Id = 2_ kimlik alamayacaksınız – C2486

+0

Eğer hash '#' dan sonra sorgu dizgisini iletip php'de alabilirsiniz? – itzmukeshy7

+0

@ itzmukeshy7 Hayır, ancak JavaScript’te alabilirsiniz, tahmin ettiğim şey budur. –

cevap

0

, hashtag # olmadan url Kulp Herhangi bir Kimlik kullanarak şifre, bu yüzden bu konuya dikkat edin ve her sıfırlama isteğinizde kullanın. Bu

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

bu set id dinamik olarak mı? bence değil. – RJParikh

-1

gibi id sonra, değişken denilen $ id ise:

$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

Kodunuz XSS güvenlik açıkları içeriyor. –

+0

Eğer hash '#' dan sonra sorgu dizgisini iletip php'ye ulaşabileceğinizi düşünüyor musunuz? – itzmukeshy7

+0

Ne kadar? Harici olarak ayarlanmış olan id değişkeniyle ilgili hiçbir varsayım yapıyorum - büyük olasılıkla dahili olarak kontrol edilen bir kaynaktan geliyordu. @MadaraUchiha – davedavedave

0

Seni bir veritabanından kimliğini öğrenip veya oturumdan olduğunuzu hayal ediyorum. Bu durumda, bir değişkene (en $userId diyelim) içine kimliği nasılsa almak (HTML enjeksiyon) biraz daha şık bir olan (Cross-Site Scripting önlemek için) HTML ondan kaçmak, ve href öznitelik eklemek : somehowGetUserId() Ben ancak sizin gibi uygulamaya bırakmak bir fonksiyondur

$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>"; 

. Buradaki fikir, "bir şekilde" kullanıcı kimliğini döndürmesidir.

İçindeki değişkenin kolayca enterpolasyonunu sağlamak için tek tırnak işaretlerinizi nasıl çift tırnak ile değiştirdiğimi de not edin. tarayıcı # sonra sunucusuna herhangi göndermez çünkü PHP id=2 görmek istiyorsanız bu # önce hiç ?id=$userId taşımak gerekir, sunucu tarafında $_GET için çalışmaz

Not URL’de

İlgili konular