Любой веб-программист сталкивается с задачей написания функционала по регистрации и отслеживанию пользователей в системе. Приведу простейший, но в тоже время вполне безопасный способ регистрации пользователей.
public function login_check($login) {
$login = $this->pregtrim(trim($login));
if (preg_match("([^\sa-zA-Z0-9-_]+)",$login)) {
return false;
}
else {
return true;
}
}В первой строке функция вызывает метод pregtrim(), который в простейшем случае выполняет такое вот преобразование $str = preg_replace("/[^\x20-\xFF]/","",@strval($str)); то есть вырезает опасные не печатаемые символы из строки.
Затем производится проверка с помощью регулярного выражения [^\sa-zA-Z0-9-_], которое проверяет в строке наличие символов кроме пробельных, латиницы, цифр, тире и символа подчеркивания. На мой взгляд это оптимальный набор символов для логина. В случае наличия в логине посторонних символов выдаем сообщение о возможности использования только вышеперечисленных символов.
Таким образом выполняется проверка логина при регистрации, остальные данные в зависимости от конкретной задачи необходимо фильтровать. Например, для проверка фамилии, имени или других строковых данных подходит функция очистки строки.