Autor Zpráva
Akacko
Profil
Pokouším se vytvořit ultimatní funkci na ochranu většiny části webu (prostý text, SQL dotazy, inputy...). Po přečtení páru článků jsem napsal toto:
function protect($var, $case)
	{
		switch($case)
		{
			case 'input':
				if ( get_magic_quotes_gpc() )
				{
					$protected = htmlspecialchars(stripslashes($var));
				}
				else
					$protected = htmlspecialchars($var);
				break;
				
			case 'link':
				$protected = urlencode($var);
				break;
      
      case 'text':
				$protected = htmlspecialchars($var);
				break;
				
            
			case 'sql':
				if ( !get_magic_quotes_gpc() )
					$protected = addslashes($var);
				else
					$protected = $var;
				break;
			default:
				$protected = NULL;
				break;
		}
		return $protected;
	}

Ke kódu jen dodám, že číselné hodnoty v SQL dotazech ošetřuji zvlášť funkcí intval().

Je toto dostatečná ochrana proti XSS (cross site scripting) či sql injection?
krteczek_mimo
Profil *
pokud jde o magic_quotes_gpc použij fci od p. Vrány: http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topic=53 453 a budeš mít data vždy připravena ve stejném stavu
a pokud se jedná o SQLinjection tak na ošetření používám mysql_real_escape_string()
no a k tomu XSS použij v prezentační vrstzvě htmlspecialchars($var);

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0