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


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

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

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



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

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

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

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

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


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

Ещё статьи по php:
Как создать поиск на своем сайте, поиск по mysql
Как сделать комментирование на своем сайте
Использование tpl-файлов
Вывод из mysql


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


Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Операции со строками -> Сравнение строк в php strCmp()
Если бы водителей принимали на работу так же, как программистов, то выглядело это примерно так: Вакансия - водитель Требования: профессиональные навыки в управлении легковыми и грузовыми автомобилями,троллейбусами,трамваями, поездами метрополитена и фуникулера, экскаваторами и бульдозерами, спецмашинами на гусеничном ходу, боевыми машинами пехоты и современными легкими/средними танками, находящимисяна вооружении стран СНГ и НАТО. Навыки раллийного и экстремального вождения обязательны. Опыт управления болидами "Формулы-1" - приветствуется. Знания и опыт ремонта поршневых и роторных двигателей, автоматических и ручных трансмиссий, систем зажигания, антиблокировочных систем, навигационных систем и автомобильных аудиосистем ведущих поизводителей - обязательны. Опыт проведения кузовных и окрасочных работ - приветствуется. Претенденты должны иметь сертификаты Mercedes, BMW, а также справки об участии в крупных международных ралли не более чем двухлетней давности. Зарплата: 1500-2500 рублей, определяется по результатам собеседования. Кроме того иметь представление о длительных морских походах на атомных подводных лодках, навыки пилотирования новейших истребителей СУ Данная вакансия предусматривает мелкий ремонт чайников, калькуляторов, спутниковых систем навигации, ядерных реакторов и работы на токарных и фрезерных станках.

Автор неизвестен


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