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


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

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



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


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


Сравнение строк в 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() - можно проверить не только совпадение строк, но и вычислить какая строка длинней.

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



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

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

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

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

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


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

Ещё статьи по php:
Как создать поиск на своем сайте, поиск по mysql
Подключение к двум базам данных на разных физических серверах
Как передать несколько значений checkbox?
Использование tpl-файлов


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


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

Джон Стюарт Милль


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