Czy w funkcji strpos() mogę podać więcej niż 2 parametry, np:
strpos(‘Tu mam łańcuch’, “#”,"|"," ");
Jeśli nie, to którą funkcją mogę sprawdzić (w 1 poleceniu), czy w łańcuchu nie ma znaków polskich i innych (chodzi o to, żeby nie można było wykonać ataku sql injection)? 3. Jak napiszę funkcję filtrującą dane chciałbym sprawdzić jej działanie. Jeśli będzie błąd i skrypt przepuści takie zapytanie:
[…ZAPYTANIE…]x’ AND BENCHMARK(9999999,BENCHMARK(999999,BENCHMARK(999999,MD5(NOW()))))=0 OR ‘1’='1
(jak wiadomo będzie to wtedy mały DDoS), to czy jak takie coś dostanie się do bazy, to jak to mogę odkręcić? I jaki będzie efekt przede wszystkim
Ok. W 2 parametrze w poleceniu strtr() mam do wpisania znaki, które będą szukane i zamieniane. Mam błąd:
Parse error: syntax error, unexpected ':' in /var/www/virtual/omegaforce.c0.pl/rejestr.php on line 35
<?
#Sprawdź, czy pola są poprawnie wypełnione
$pass=$_POST['Pass'];
$login=$_POST['Nick'];
$password=strtr($pass , "#!@$%^&*()-=_+{}][":;'><,.?`~/*\|" , "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
$login2=strtr($pass , "#!@$%^&*()-=_+{}]['":;'><,.?`~/*\|" , "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
Wszystkie niedozwolone znaki ma zamieniać na ‘a’. Jak mam napisać to “:”?
if(mysql_num_rows(mysql_query("SELECT * FROM users WHERE login='".$_POST['login']."' OR mail='".$_POST['mail']."'"))) //znaleziono else//nie znaleziono [/code]
Z racji nagromadzenia nawiasów, cudzysłowów i apostrofów mogły się wkraść jakieś błędy. I być może jest jakiś lepszy sposób.