Autor Zpráva
bicebs
Profil
Ako mám zabezpečiť url tak aby to bol odkaz?
Napríklad : echo "<a href='$adresa/ukaz_ho.php?id=$id_uzivatele'>$nick_uzivatele</a><br />" ;
Joker
Profil
bicebs:
Jsou tam tři proměnné:
$adresa předpokládám není vstup od uživatele. (K čemu by bylo zadávat doménu, na které se pak načte pevně daná stránka?)
$id_uzivatele předpokládám je číslo, takže intval.
$nick_uzivatele je* HTML kód, takže htmlspecialchars.

* tzn. vypisuje se v kontextu HTML kódu.
bicebs
Profil
Joker:
Tomu intval nechápem a to htmlspecialchars som už skúšal zapísať takto :
echo htmlspecialchars("<a href='$adresa/ukaz_ho.php?id=$id_uzivatele'>$nick_uzivatele</a><br />",  ENT_QUOTES);
Asi som to zle zapísal.
lionel messi
Profil
bicebs:
Tomu intval nechápem
Funkcia intval pretypuje vstup na číslo, čo je v prípade vstupu, kt. má byť číselný v tvojom prípade postačujúca ochrana.

to htmlspecialchars som už skúšal zapísať takto :
Týmto spôsobom to nespraví to, čo ty potrebuješ. Chceš ošetriť len $nick_uzivatele, ale ošetruješ celý reťazec. Tým pádom sa reťazec nespracuje ako HTML kód (čo je potrebné, musí sa vypísať odkaz, ale ide len o ošetrenie premenných), ale vypíše (zjednodušene povedané). Skús:

$id_uzivatele = intval($id_uzivatele);
$nick_uzivatele = htmlspecialchars($nick_uzivatele);
echo "<a href='$adresa/ukaz_ho.php?id=$id_uzivatele'>$nick_uzivatele</a><br />" ; 
Kubo2
Profil
bicebs:
Druhú časť [#4] som ti už (možno trocha zložitejšie) vysvetľoval. K tomu intval() viď napríklad toto.
bicebs
Profil
lionel messi:
Stačí to aby mi pomocou url nehackovali stránku?
lionel messi
Profil
bicebs:
Stačí to aby mi pomocou url nehackovali stránku?
Ak $adresa nie je vstup od užívateľa, tak áno.
Kubo2
Profil
Teoreticky by malo (ale nechcem byť ironický, tak radšej už zmĺknem).
bicebs
Profil
lionel messi:
Funguje to ďakujem. Mám takto zabezpečiť všetky url?
$adresa je odkaz na moju stránku - http://malybicebs.php5.sk/
lionel messi
Profil
bicebs:
Mám takto zabezpečiť všetky url?
Áno.
bicebs
Profil
lionel messi:
Dneska to už nestihnem ale zajtra sa pokúsim kompletne zabezpečiť celý svoj web zatiaľ ďakujem.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0