Здравствуйте Гость!


Запомнить.
Авто. вход.
Забыли пароль?
Регистрация

ПОДПИСКА Подписавшись по E-mail, Вы будете получать уведомления о новых статьях к себе на почту.
Подписатся на почтовую рассылку на сайте astranar.ru
Подписаться



ДОБАВЛЯЙТЕСЬ В ДРУЗЬЯ Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте на стене моего аккаунта.
Мой аккаунт Вконтакте
Мой аккаунт
Главная - PHP - Операции со строками -> Сравнение строк в php strCmp()


Операции со строками -> Сравнение строк в php strCmp()


Сравнение строк в php

Доброго всем времени суток! Недавно я вдруг понял, что моя авторизация не совсем идеальна(идеального кода нет), и в связи с этим я решил порыть уязвимости в ней.

К чему же я пришел когда ввел два раза под ряд одинаковый логин в форму своей авторизации, я вдруг понял что регистр вводимых пользователем символов не учитывается, в прочем такая ситуация происходила и с паролем. И в связи с этим я решил, что нужно решать эту проблему, иначе можно дать надежду школьнику в проломе авторизации.

А решил я проблему эту совсем просто. В php есть функции сравнения строк, которые сравнивают две строки или числа с учетом и без учета регистра.

Эти функции нам и помогут исправить положение.
strCmp($string_1, $string_2); - Сравнивает строки $string_1 и $string_2 с учетом регистра
strCaseCmp($string_1, $string_2); - Сравнивает строки $string_1 и $string_2 без учета регистра


Функции возвращают 0 если регистр совпадает или 1 если регистр не совпадает.

Ну и давайте напишем простейшую проверку на соответствие двух строк:

$s1 = "user";
$s2 = "UseR";

$r = strCmp($s1 ,$s2 );
echo $r; // В данном случае скрипт вернет нам 1
?>


А теперь давайте рассмотрим другой вариант регистрозависимого сравнения строк:
$s1 = "user";
$s2 = "User";

if($s1 != $s2){
echo"не совпадают";
} else {
echo"совпадают";
}


В чем отличие этих двух проверок?! По сути для этого способа ни в чем. Но через strCmp() - можно проверить не только совпадение строк, но и вычислить какая строка длинней.

Вроде ничего не забыл=)
Удачи вам в коддинге!=)



Просмотров страницы: 7697
Урок добавлен: 13 Февраля 2013

<<<Предыдущая статьяСледущая статья >>>

Копирование материалов разрешается только с указанием автора (Пальгов Олег) и индексируемой прямой ссылкой на сайт (https://astranar.ru/)!

Добавляйтесь ко мне в друзья ВКонтакте: https://vk.com/palgov_oleg. Если Вы хотите оценить меня и мою работу, то напишите на стене моего аккаунта ВКонтакте.

Если Вы не хотите пропустить новые материалы на сайте, то Вы можете подписаться на обновления:
Подписаться на обновления


Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Ещё статьи по php:
Вывод информации из mysql
Sql injection или sql инъекция.
Как сделать мультиязычный сайт или многоязычный сайт своими руками.
Вывод из базы данных информации отсортированной по параметрам


Комментарии (0)


Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Операции со строками -> Сравнение строк в php strCmp()
Непрочитанные книги умеют мстить.

Рэй Бредбери


Вступайте в группу!