![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Gold Dragon |
|
||||||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Помогите понять логику
при первом открытии страницы выпадает поле для ввода пароля
- если не правитьно - над формой пишится "Ошибка" и опять поле для ввода пароля (здесь не совсем понимаю как сделать чтоб открылась снова эта форма) - если правильно - появляются допустим три ссылки
- каждая открывает своё поле для ввода
(и вот здесь как организовать чтоб я миную ввод пароля не смог зайти по ссылке http://adm_form.php?adm=х) Если не трудно, опишите логику как это вообще организовано. -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
||||||
|
|||||||
| Mont |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 274 Регистрация: 13.11.2004 Где: Altay Репутация: 8 Всего: 12 |
Зарегистрируй сессию для админа при удачной проверке пароля.
и потом проверь установленна ли сессия, если нет тогда опять форма иначе показывай страницу. -------------------- "Если однажды Вдруг Меня не окажется вовсе в заповедной заветной тарелке Твоего праведного сновидения Знай - Неуловимые мстители настигли меня." © Егор Летов |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
То есть мне изночально проверять сессию? А не if (!isset($_POST["pas"])){
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Red Dragon
Проверять тогда, когда к тебе данные с формы авторизации приходят... Во всех других случаях проверять сессию. Ознакомься вот с этой статьей, дабы сразу не допускать ошибок: http://detail.phpclub.ru/article/sessions |
|||
|
||||
| lovermann |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 28.12.2004 Где: Прага Репутация: 1 Всего: 8 |
Я бы сделал вот так:
Форма в login.php:
kontrola.php
Это сообщение отредактировал(а) lovermann - 17.1.2005, 02:09 |
||||
|
|||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
А может все-таки POST ? |
|||
|
||||
| lovermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 28.12.2004 Где: Прага Репутация: 1 Всего: 8 |
Извините, скрипт был для проверки логина и пароля по базе -- я его подправил, но не всё вырезал (недовырезал $line[]), теперь всё ОК.
Mal Hack, при чём тут POST? Скрипт получает параметры в адресной строке -- он их читает, обрабатывает и в зависимости от правильности, редиректит либо обратно, либо на мемебер.пхп.. |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
lovermann
передавать логин и пароль через адресную строку, простите, это одна из самых серьезных дыр в безопаснсоти... Данные логина и пароля получаются с формы... Что у вас выше и написанно... И там метод POST |
|||
|
||||
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: 13 Всего: 87 |
в общем общая логика тебе понятна.
по порядку: 1. session_start(). 2. проверяем логин. 3. если логин есть -> отображаем сраницу. 4. если нет -> показываем логин форму. вот. вроде всё. |
|||
|
||||
| lovermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 28.12.2004 Где: Прага Репутация: 1 Всего: 8 |
Пардон, не углядел. Конечно же $_POST, а не $_GET.
Ну, а про то, что в начале каждой страницы нужно писать
я не написал, потому что это и так ясно. Это сообщение отредактировал(а) lovermann - 16.1.2005, 18:47 |
|||
|
||||
| IZ@TOP |
|
||||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
А может потом стоит проверить Хеш пароля из кук, желательно чтобы он туда был записан еще раз шифрованный, чтобы при утере хеша нельзя было применить перебор. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
||||
|
|||||
| lovermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 28.12.2004 Где: Прага Репутация: 1 Всего: 8 |
А где ты увидел, что в куке пароль хранится?
P.S. Под словосочетанием "каждой страницы" я имел ввиду страницы запароленной зоны. Это сообщение отредактировал(а) lovermann - 17.1.2005, 02:16 |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 4 Всего: 317 |
Я всю админовку делаю через одну точку входа index.php, всё остальное закрыто. Перед инклюдом проверяешь сессию. Если не прошло, то отсылаешь куку с параметром запрашиваемой страницы(что бы вернутся назад) и генеришь форму с логин/паролем. Никаких траблов с путями и т.п.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Сначало всё было понятно, но как вы начали спорить друг с другом, запутался.
Может кто подведёт итог -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Mont |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 274 Регистрация: 13.11.2004 Где: Altay Репутация: 8 Всего: 12 |
Я так думаю ©Мимино -------------------- "Если однажды Вдруг Меня не окажется вовсе в заповедной заветной тарелке Твоего праведного сновидения Знай - Неуловимые мстители настигли меня." © Егор Летов |
|||
|
||||
| lovermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 28.12.2004 Где: Прага Репутация: 1 Всего: 8 |
1) Делаешь форму для ввода логина и пароля. (она у тебя уже есть).
2) Если логин и пароль верные -- начинаешь сессию и присваиваешь какой-либо сессионной переменной какое-то значение (см. мой kontrola.php, только вместо ГЕТ -- ПОСТ) 3) В начале каждой страницы закрытой зоны проверяешь, установлена ли эта сессионная переменная. Если установлена - отображаешь, что надо, если нет, пуляешь на страницу с формой для входа (см. моё сообщение от 16.1.2005, 18:15). |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Всё понял, всем большое спасибо..
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| lovermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 28.12.2004 Где: Прага Репутация: 1 Всего: 8 |
Я свои мысли последней инстанцией не делаю -- кому есть, что сказать/подправить/исправить -- пожалуйста. Я ведь сам только учусь.
|
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Самое лучшее это выложить готовый код с описанием, т.е. файл такой-то, делает то и то... Я что-то делаю, вроде всё работает, но столько уже нагородил, никакой оптимизации кода
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
Red Dragon
значешь я че понял - вот начинаешь писать скрипт - так не хочется писать грамотно, лишь бы побыстрее, а потом, когда приходит время оптимизации - нет ничего хуже! |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Вот и хочу, чтоб кто-нибудь выложил шаблон....
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 4 Всего: 317 |
Довольно кривой пример, но реально поставлен и запущен
Ниже кусок кода из начала index.php - единственная точка входа. Пароль лежит в файле в директории защищённой апачем, так захотел закачик, дабы не было траблов с юзерами(суеверие), всё остальное в БД. Шаблонизаторами не пользуюсь ибо вёрстка тоже моя и ни кем в будущем вроде менятся не будет. Расставил коментарии.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Alx |
|
||||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
вот что мне отвечает на код
|
||||
|
|||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 22 Всего: 53 |
1) неправильно прописана директория где должны храниться файлы сессии
2) посылаешь хедеры после вывода в браузер |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
а где их вообще прописывать? вот весь код, который связан с этой ерундой я показал... остально не касается, их ещё надо где-то прописывать? |
|||
|
||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 22 Всего: 53 |
Alx
создай директорию или укажи существующую, к примеру c:\temp (винда), /tmp (*никс), потом ее прописываешь в конфигах пхп: session.save_path = c:\temp session.save_path = /tmp или можешь в ходе работы скрипта: session_save_path('c:\temp') , но это прописываешь до session_start(), т.е. иницилизации сессии, но лучше первый вариант - прописать в конфигах |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
а что делать? тогда придётся через JS. там же вот как - в одно м случае echo в определённом месте, в другом - переход. |
|||
|
||||
| The MASTER |
|
|||
|
Old master) ![]() ![]() Профиль Группа: Участник Сообщений: 862 Регистрация: 19.7.2004 Где: Санкт-Петербург Репутация: -1 Всего: 5 |
Я здесь выкладывал небольшой скрипт авторизации но IZATOP к сожалению удалил, но он у меня остался вот:
|
|||
|
||||
| penizillin |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 10.11.2004 Репутация: 8 Всего: 9 |
замечательный скрипт. "в топку!" (забыл, чье)
|
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Ну и код
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| The MASTER |
|
|||
|
Old master) ![]() ![]() Профиль Группа: Участник Сообщений: 862 Регистрация: 19.7.2004 Где: Санкт-Петербург Репутация: -1 Всего: 5 |
А что?
penizillin Спасибо, но не совсем понял про что ты сказал... |
|||
|
||||
| penizillin |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 10.11.2004 Репутация: 8 Всего: 9 |
|
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
The MASTER, он имел ввиду что этот скрипт настолько "хорош", что его надо на всеобщее обозрение всем новичкам поставить в разделе "как делать НЕ надо"
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Gold Dragon |
|
||||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Вот мой код
Знатоки, просьба оценить. В принципе после установке сессии в других файлах достаточно писать это чтобы работать в защищённом режиме.
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
||||
|
|||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Пароль в явном виде хранишь, что не есть хорошо. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Red Dragon
пароль надо хранить зашифрованным. Где ты будешь это делать - совсем другой вопрос. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Mal Hack
ну так дополни код ... ведь народ учится -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Mal Hack |
|
||||||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
заменяем на:
на
Имхо, дальше ты в любом случае пишешь пароль в сессию, что не хорошо... Т.е. я тебе уже давал статью, где показывал что там надо хранить... Пасс надо использовать только при авторизации. |
||||||||
|
|||||||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
А что, при данном коде так легко взломать админку?
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Red Dragon
пароль легче узнать. |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
Mal Hack
даже если и узнать пароль, что с того? если он в md5, обратно его уже никак не вытащишь! |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 4 Всего: 317 |
Особенно если пароль перед тем как через md5 пропустить, порезать на пополам и обменять половинки
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
Sardar
а ты мог бы из хеши подобрать оригинал? научишь меня? ;) |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Ну так пойдёт код? Я же не супер защиту для банков пишу...
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
Red Dragon
годен))) |
|||
|
||||
| Alx |
|
||||||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
ну вот и я подоспел. выкидываю не только PHP, но и все страницы с HTML и JavaScript для полноты картины. итак,
install.php
admin.php
проверка сессии:
|
||||||
|
|||||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Alx
Red Dragon Все таки останусь при мнении, что даже если не защиту для банка делаете, пароль в открытом (читаемом) виде хранить нельзя.
Проверяй используя empty();
Зачем так сложно... $r=mysql_query("select * from flyvote_admin WHERE login = XXX AND pass = md5(YYY)"); если вернет 1 запись значит юзер ввел правтльные данные. |
||||
|
|||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
|
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 4 Всего: 317 |
Alx на спор по словарю с комбинациями или даже перебором
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 22 Всего: 53 |
Mal Hack
1) Опасность mysql инъекции 2) Нет проверки на регистр |
|||
|
||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
А mysql_escape_string(); зачем придумали? Поверь POST данные намного легче подделать, чем SQL иньекцию провернуть.
Что значит нет? Там равно стоит... http://dev.mysql.com/doc/mysql/ru/string-c...-functions.html |
||||
|
|||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 22 Всего: 53 |
mysql> select 'a'='A' and '0cc175b9c0f1b6a831c399e269772661'=md5('a'); +---------------------------------------------------------+ | 'a'='A' and '0cc175b9c0f1b6a831c399e269772661'=md5('a') | +---------------------------------------------------------+ | 1 | +---------------------------------------------------------+ 1 row in set (0.00 sec) Добавлено @ 22:22 раз уж на то пошло:
Это сообщение отредактировал(а) Irokez - 24.1.2005, 22:20 |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Irokez
login & pass - имена полей... XXX & YYY - данные ПОСТ... |
|||
|
||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 22 Всего: 53 |
с этим я и не спорю, просто хотел показать на примере, что твой запрос регистронезависим |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Для регистрозависимого поиска надо BLOB использовать, а не TEXT
|
|||
|
||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 22 Всего: 53 |
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Irokez
Нет. TEXT на сколько я знаю, вообще не подерживает регистрозависимый поиск. |
|||
|
||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 22 Всего: 53 |
Проведем эксперимент:
mysql> create table test1(text text); Query OK, 0 rows affected (0.08 sec) mysql> insert into test1 'aaa'; mysql> select * from test1 where text='AAA'; +------+ | text | +------+ | aaa | +------+ 1 row in set (0.04 sec) mysql> select * from test1 where binary text='AAA'; Empty set (0.00 sec) Это сообщение отредактировал(а) Irokez - 25.1.2005, 20:56 |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Irokez
BINARY это уже другой вопрос |
|||
|
||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 22 Всего: 53 |
дык начальный вопрос был: разумно ли делать авторизацию пользователя запросом:
ответ: нет, не разумно по причине того что не проверяется регистр логина, а это можно изменить с помощью ключевого слова BINARY, причем тут TEXT или BLOB? |
|||
|
||||
| Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Почитай спецификацию полей и поймешь. TEXT - символьный. BLOB - бинарный.
По сравнению с выниманием из базы логина и пасса - да, регистр - уже дело, так сказать тонкое. |
||||
|
|||||
| Irokez |
|
|||
![]() индеец ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1180 Регистрация: 20.10.2004 Репутация: 22 Всего: 53 |
ладно, каждый остался при своем мнении, тут уж друг друга не переубедить ...
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |