| Autor | Zpráva | ||
|---|---|---|---|
| Peťo Profil * |
#1 · Zasláno: 15. 9. 2012, 08:25:46
Ahoj,
rozmýšľam ako ošetriť URL proti rôznym druhom utokov. Najskôr som si vytvoril funkciu, ktoreou si ošetrujem parametre: function safeClean($n) {
// $n = trim($n);
$n = preg_replace('/\s+/', '', $n);
if (get_magic_quotes_gpc()) {
$n = stripslashes($n);
}
$n = mysql_real_escape_string($n);
// $n = htmlentities($n);
$n = strip_tags($n);
return $n;
}potom ma vsak napadlo celu URL skontrolovať regulárnym výrazom a nechať v nej len naozaj to, co moze v URL byť, (teda v mojom prípade v kombinacií s RewriteEngine On) je to alfanumericke znaky + "-" a "/" $url_param= ereg_replace("[^a-z0-9/-]", "", $_GET['seo_nazov'] );Čo myslíte, je tento spôsob bezpečný? Este spomeniem ze v htaccess mam RewriteRule (.*) index.php?seo_nazov=$1 [QSA,L], a v PHP si tu premennu rozbijem podla "/" a nasledne zisťujem o akú stránku ide. Ďakujem, |
||
| Str4wberry Profil |
#2 · Zasláno: 15. 9. 2012, 08:44:10
Proti čemu chcete URL chránit?
|
||
| Peťo Profil * |
#3 · Zasláno: 15. 9. 2012, 09:05:29
Proti sql injections, xss..
|
||
| Nox Profil |
#4 · Zasláno: 15. 9. 2012, 09:17:06
Escapování je zabránění interpretování hodnoty v nějakém kontextu ... nejde na hodnotu předem univerzálně naplácat všechny funkce a počítat, že to tak bude fungovat. Escapuje se vždy v nějakém kontextu. Pokud to dávám do SQL tak při tom použiju mysql_real_escape_string, pokud to dávám do HTML tak buď htmlspecialchars (pokud nemají být interpretovány tagy) případně strip_tags (jde použít ten whitelist tagů, 2. parametr), pokud dávám hodnotu do url tak urlencode atd.
Víc na http://phpfashion.com/escapovani-definitivni-prirucka |
||
| Peťo Profil * |
#5 · Zasláno: 15. 9. 2012, 09:21:14
Ďakujem, takéto niečo som hľadal.
|
||
|
Časová prodleva: 13 let
|
|||
0