CrashX
В прошлом XSiteCMS
- Регистрация
- 6 Июн 2008
- Сообщения
- 681
- Реакции
- 114
- Автор темы
- #1
Суть данной темы такова, я не силен в регулярных выражениях, а посему прошу помощи в этом
что нужно
нужно около 10 регулярных выражений для очистки данных, для безопасного добавления в СуБД во избежания все возможных инъекций
1.Фильтрование и вырезка строки от лишних символов (тип данных строка)
2.Фильтрование и вырезка число int от лишних символов (тип данных целое число)
3.Фильтрование и вырезка число float от лишних символов (тип данных дробное число)
4.Фильтрование и вырезка e-mail от лишних символов (тип данных строка)
5.Фильтрование и вырезка url от лишних символов (тип данных строка)
6.Фильтрование и вырезка url (картинки) от лишних символов (тип данных строка)
и так же предложите регулярные выражения для очистки текста от возможного вредоносного кода
почти все данные у меня хранятся в массивах)),
тк все на них построенно, построители запросов и валидароты данных, даже построитель форм частично на них))
или вот подобных выражений будет достаточно
что нужно
нужно около 10 регулярных выражений для очистки данных, для безопасного добавления в СуБД во избежания все возможных инъекций
1.Фильтрование и вырезка строки от лишних символов (тип данных строка)
2.Фильтрование и вырезка число int от лишних символов (тип данных целое число)
3.Фильтрование и вырезка число float от лишних символов (тип данных дробное число)
4.Фильтрование и вырезка e-mail от лишних символов (тип данных строка)
5.Фильтрование и вырезка url от лишних символов (тип данных строка)
6.Фильтрование и вырезка url (картинки) от лишних символов (тип данных строка)
и так же предложите регулярные выражения для очистки текста от возможного вредоносного кода
почти все данные у меня хранятся в массивах)),
тк все на них построенно, построители запросов и валидароты данных, даже построитель форм частично на них))
или вот подобных выражений будет достаточно
PHP:
/**
* Удаление символов переноса, возврата каретки, табуляции и слешей "\"
* @param string
* @return string
*/
function trim(&$str)
{
$str=trim($str);
$str=str_replace("\n","",$str);
$str=str_replace("\r","",$str);
$str=str_replace("\t","",$str);
$str=stripslashes($str);
return $str;
}
function trimtag($str)
{
$str=preg_replace("#\<.+?\>|</.+?\>#is"," ",$str);
$str=preg_replace("/<script/i",'<script',$str);
$str=str_replace("<<","«",$str);
$str=str_replace(">>","»",$str);
$str=str_replace("<","<",$str);
$str=str_replace(">",">",$str);
$str=ereg_replace('\\\"',""",$str);
$str=ereg_replace("\\\'",""",$str);
$str=str_replace("%","%",$str);
$str=str_replace("^ +","",$str);
$str=str_replace(" +$","",$str);
$str=str_replace("|","l",$str);
$str=$this->trim($str);
$str=preg_replace("/\\\/",'\',$str);
return $str;
}
/**
* Удаляет экранирующие бэкслэши в массиве
* @param array $array
* @return array $array
*/
function stripslash(&$array)
{
if(is_array($array)): reset($array);
foreach($array as $key=>$value):
if(is_array($array[$key])):
$this->stripslash($array[$key]);
else:
$array[$key]=stripslashes($value);
endif;
endforeach;
else:
$array=stripslashes($array);
endif;
return $array;
}
**
* Удаляет экранирующие бэкслэши в массиве
* @param array $array
* @return array $array
*/
function addslash(&$array)
{
reset($array);
foreach($array as $key=>$value):
if(is_array($array[$key])): $this->addslash($array[$key]);
else: $array[$key]=str_replace(array("/", "."),array("\\/", "\\."), $folder);
endif;
endforeach;
return $array;
}