Autor | Zpráva | ||
---|---|---|---|
Mufna Profil |
#1 · Zasláno: 21. 1. 2011, 14:57:37
Zdravím Vás. Ošetřuji vstupy z formuláře přes funkci, která má vyházet nebezpečné znaky. Které všechny znaky to jsou ? Stačí to co mám teď v reguláru, nebo je potřeba ošetřit více znaků, nebo naopak něco z toho co tam mám ošetřovat nemusím ?
$regexp = "/[#%&$^<>\"\/|{}~`]/"; |
||
__construct Profil |
#2 · Zasláno: 21. 1. 2011, 15:20:05
Mufna:
A čo je na tých znakoch nebezpečné? |
||
NejakyTom Profil |
#3 · Zasláno: 21. 1. 2011, 15:53:33
teoreticky jenom uvozovky ale pro osetrovani bych misto reguler. vyrazu pouzil jit hotove funkce primo pro to urcene
mysql_real_escape_string -> retezec intval -> cislo |
||
imploder Profil |
#4 · Zasláno: 21. 1. 2011, 16:38:16
Mufna:
„Ošetřuji vstupy z formuláře přes funkci, která má vyházet nebezpečné znaky.“ Žádný znak není nebezpečný. Je to jenom znak, žádnou škodu udělat nemůže. Nebezpečné může být jenom jeho použití. Použití jsou různá: v HTML kódu stránky, v SQL dotazu atd.. Pokud chci, aby byl znak použitý jenom jako znak a nic nedělal, musím ho před použitím escapovat. Pro různá použití se to dělá různě, jsou na to už hotové funkce: http://phpfashion.com/escapovani-definitivni-prirucka Když budeš znak escapovat správnou funkcí, bude neškodný. Vyhazovat "nebezpečné znaky" je blbost - je to omezující a náchylné k chybám. Správné je použít escapovací funkci. |
||
Časová prodleva: 13 let
|
0