Проверка на променлива

jaffy

Registered
Нещо не успях да го направя така ,че да се проверява променлива за всякакви не желани chars от сорта на --> ? ! @ $ % # и т.н. / имам в предвид ако може да се направи така ,че ако има други символи освен цифри/букви дава грешка. Също така се опитах да го лимитирам до 30 ама така като гледам май не го правя съвсем както трябва..

Ето какво аз съм направил:
Код:
function str_check($shortname)
{
$check=(ereg("^([a-zA-Z0-9_]{30})$", $shortname)) ? TRUE : FALSE;
return $check;
}

Да, взех го от урока за защита на ГЕТ метода на Жоро.

+1
 
Ако искаш да си защитиш сайта ето ти един код за същите символи

Код:
<?php
$queryString = strtolower($_SERVER['QUERY_STRING']);

if (strstr($queryString,"<") OR strstr($queryString,">") OR strstr($queryString,"(") OR strstr($queryString,")") OR
strstr($queryString,"..") OR
strstr($queryString,"%") OR
strstr($queryString,"*") OR
strstr($queryString,"+") OR
strstr($queryString,"!") OR
strstr($queryString,"@")) {
$loc = $_SERVER['PHP_SELF'];
$ip = $_SERVER['REMOTE_ADDR'];
$date = date ("d-m-Y @ h:i:s");
$lfh = "log.txt";
$log = fopen ( $lfh,"a+" );
fputs ($log, "Attack Date: $date | Attacker IP: $ip | QueryString: $loc?=$queryString\n");
fclose($log);
echo "Вашата атака беше записана!";
}
?>
 
А не е ли по-добре да проверяваш само за допустими символи.Примерно знае, че имаш текст!Какво може да съдържа???Символи от a до я(А-Я), и да кажем числа от 0 до 9
Пишеш следното:
<?php
$string = "Това е само проба за валидни символи"; //това ти е променливата, чието съдържание проверяваш
if(!preg_match("/[^a-яA-Я0-9 ]+/i", $string)){
echo "Валидни символи";
} else {
echo "Невалидни символи";
}
?>
в червено са ти символите, които са валидни.
 
emagi каза:
А не е ли по-добре да проверяваш само за допустими символи.Примерно знае, че имаш текст!Какво може да съдържа???Символи от a до я(А-Я), и да кажем числа от 0 до 9
Пишеш следното:
<?php
$string = "Това е само проба за валидни символи"; //това ти е променливата, чието съдържание проверяваш
if(!preg_match("/[^a-яA-Я0-9 ]+/i", $string)){
echo "Валидни символи";
} else {
echo "Невалидни символи";
}
?>
в червено са ти символите, които са валидни.


Ей това е нещото което ми трябваше. Благодаря! :) +1
 

Горе