Защити

anival

Registered
Здравейте трябва ми защита която да забранява използването на символите <'^[]/.,| и т.н. за да немогат да се използват meta кодове или да се дропне таблицата :roll:
 
Имаше специално такова нещо дето предпазва! Ей сега ще ти го дам.
 
И с strtolower() !!! Намерих го най-накрая!
Поздрави!
Ето и примера:
$text = strtolower($text);
 
luudman каза:
И с strtolower() !!! Намерих го най-накрая!
Поздрави!
Ето и примера:
$text = strtolower($text);
Как да чеква примерно това
$name=$_POST['name']; и да проверява тези нещица
:roll:
 
luudman каза:
И с strtolower() !!! Намерих го най-накрая!
Поздрави!
Ето и примера:
$text = strtolower($text);
това е за да намали текста на малак не за да предпази
$name=htmlspecialchars($_POST['name']);
 
$name .= htmlspecialchars($_POST['name']);
или така ма май може и така:
$name = htmlspecialchars($_POST['name']);
 
Ще ти всършат работа и:
htmlspecialchars,striptags,addslashesh,htmlentities
Но мисля че ereg ще си свърши работата добре.

Повече инфо за функцийте:

PHP.net
 
luudman каза:
$name .= htmlspecialchars($_POST['name']);
или така ма май може и така:
$name = htmlspecialchars($_POST['name']);
Значи с това немое се дропне таблица или се изпозлват мета код но може да ползва ^[]';. .... ? :roll:
 
luudman каза:
$name .= htmlspecialchars($_POST['name']);
или така ма май може и така:
$name = htmlspecialchars($_POST['name']);
аз го написах
ето и с ereg
ЕДИТ бях го объркал пробвай сега !
if (ereg('([a-zA-Zа-яА-Я0-9_])$',$_POST['name']))
{
$name=$_POST['name'];
}else{
echo "greshka";
}
 
hellfire каза:
luudman каза:
$name .= htmlspecialchars($_POST['name']);
или така ма май може и така:
$name = htmlspecialchars($_POST['name']);
аз го написах
ето и с ereg
ЕДИТ бях го объркал пробвай сега !
if (ereg('([a-zA-Zа-яА-Я0-9_])$',$_POST['name']))
{
$name=$_POST['name'];
}else{
echo "greshka";
}
Пише ми greshka и че съм регнат и наистина регва потребителя ... :roll:
 
опс бях объркал стойностите и се чудех са що ми дава се грешка ето го крайното работи туко що го тествах забравил съм как се борави с ereg :(
Код:
if (ereg("^[' A-Za-zа-яА-Я0-9_]+$",$_POST['name']))
{
echo "вярно";
}else{
echo "greshka";
}
:(
готово не може да провери дали има кирилица ето ти за тези знаци
<?
echo '<form action="" method="POST">
<input type="text" name="name">
<input type="submit" name="submit" value="тест">
</form>';
if($_POST['submit']){
$name=$_POST['name'];
if (ereg("[!@#$&*+=|&<><?]+$",$xx))
{
echo "DGD";
exit;
}
echo "браво";
}
?>
пробвай го :?
 
Копирам директно от скрипта ми за вход:

if(!eregi('^[a-zA-Z0-9_]+$',$_POST['name'])
{
echo "Непозволени символи! Информацията за вход може да съдържа само латински букви, знак \"_\" или цифри от 0 до 9!";
}
else
{
echo "ОК";
}

Дано съм бил полезен :)
 
Код:
$string=$_POST['name'];
$string=str_replace("&","&",$string);
$string=str_replace("<","<",$string);
$string=str_replace(">",">",$string);
$string=str_replace("\"",""",$string);
$string=str_replace("'","'",$string);
$name=$string;
И полсе ползваш в заяваката $name напр:
mysql_query("SELECT * FROM users WHERE name=$name LIMIT 1");
 
datamatrix каза:
Код:
$string=$_POST['name'];
$string=str_replace("&","&",$string);
$string=str_replace("<","<",$string);
$string=str_replace(">",">",$string);
$string=str_replace(""",""",$string);
$string=str_replace("'","'",$string);
$name=$string;
И полсе ползваш в заяваката $name напр:
mysql_query("SELECT * FROM users WHERE name=$name LIMIT 1");
array ще трябва
амм по добре е с ereg ....
 
Аз се разбрах с него какво му трябва и го направихме с addslashes() . То му били трябвали безопасни sql заявки, да не могат да му дропнат таблицата и тн. Addslashes() мисля, че му стига за това.
 
да той слага кавички и htmlspecialchars става и str_replace (с array)
но ако е за регистрация ereg там е хубаво да е защитено не само усернаме а и паролата меила и т.н.
без защита как лесну може да се хакне :lol:
 
нема мейл, за другите се погрижих. тябва защита и на регистрация и на логин (абе на всякъде, където има работа с БТ-то)
 
Galli каза:
Напишете си една функция с str_replace и я ползвайте навсякъде.
htmlspecialchars !
str_replace няма да се прогрижи за сички инжекций(няма да се сетите сичките)
за текстови работи ще е хубаво да се ползва htmlspecialchars
за регистрация ereg
за login htmlspecialchars !
 

Back
Горе