![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| pr1de |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.7.2007 Репутация: нет Всего: нет |
есть скрипт авторизации который процедурно при вводе пароля и логина правельного пишет гуд.и есть тот же скрипт но я его переделал на ООП и при вводе правельного логина с паролем или не правельного без разницы пишет бэд!помогите пожалучта голова уже трещит.
процедурный исправный скрипт:
и вот ООПэшный в котором проблема(ошибку не выдает просто не правельнор фунциклирует) |
|||
|
||||
| BSOD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 1.11.2004 Где: Гомель Репутация: 1 Всего: 3 |
а где нерабочий скрипт-то?
-------------------- как корабль назовешь - то на нем и напишешь |
|||
|
||||
| pr1de |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.7.2007 Репутация: нет Всего: нет |
извиняюсь че то я забородил вот он:
<?php include "../conf/config.php";
|
|||
|
||||
| NightmareZ |
|
|||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 Репутация: 2 Всего: 13 |
Смысл оформлять всё это в класс?
-------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
|||
|
||||
| pr1de |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.7.2007 Репутация: нет Всего: нет |
хочу свой форум переделать на классы,да и интересно почему не получается
|
|||
|
||||
| Flashdown |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 27.5.2006 Где: Москва Репутация: нет Всего: нет |
||||
|
||||
| NightmareZ |
|
|||
![]() [хакер] ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 10.8.2006 Репутация: 2 Всего: 13 |
Какое преимущество даёт то, что ты всё завернул в класс? -------------------- NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш Ely-Art.ru - наша маленькая домашняя арт-студия mugcraft.ru - кружки на любой вкус |
|||
|
||||
| Fally |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 17.8.2006 Где: Dahla Репутация: 3 Всего: 4 |
По моему, надо бы вам сделать так:
и соответственно вызывать:
Должно помочь. NightmareZ, Хотя бы такие, что библиотеку можно будет повторно использовать (только если подредактировать, т.к. сейчас её не только повторно, но и вообще использовать нельзя ;)) Это сообщение отредактировал(а) Fally - 26.7.2007, 16:18 |
||||
|
|||||
| Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
Да, вариант Fally должен помочь и с точки зрения повторного использования кода он удобнее, поскольку не накладывает зависимости на источник получения login и password. А помочь он должен, поскольку обходится Ваша конкретная ошибка.
Вы сначала пишете данные в поля класса $this->login, $this->password, а потом пытаетесь использовать не определенные ранее локальные переменные $login и $password. Они всегда пустые. Вот и результат всегда "bad". P.S. Ну и к проблемам безопасности стоит отнестить внимательнее. Не стоит прямо в mysql_query() вставлять неэкранированные и нефильтрованные значения, прямо из $_POST -------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
| wolfmessing |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 24.4.2007 Репутация: нет Всего: 1 |
И ещё на существование проверь
Ой сори извиняюсь опять не заметил
Тогда можно в md5 запяхнуть
Это сообщение отредактировал(а) wolfmessing - 27.7.2007, 09:33 |
||||||
|
|||||||
| pr1de |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.7.2007 Репутация: нет Всего: нет |
разве этого не хватит для защиты ?
|
|||
|
||||
| Fally |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 17.8.2006 Где: Dahla Репутация: 3 Всего: 4 |
pr1deВозможно и хватит, утверждать не буду, т.к. сам всегда использую mysql_real_escape_string(), да и разработчиками она рекомендована.
К тому же до сих пор не пойму 2 вещи в вашем коде: 1) зачем так обрабатывать пароль, не лучше ли его хранить в БД в виде MD5-хэша, и при сравнении его хэшировать? И SQL-injection по полю пароля вы точно не получите. 2) Поле с логином. Вопрос, а зачем вы допускаете потенциально опасные символы в логине. Мне кажется, что можно допускать для логина только символы: a-z, а-я, _, 0-9 . Всё, больше ничего не нужно. А проверить на корректность такой логин можно регулярным выражением.
Пишите проверь на существование, а проверяете пустая переменная или нет.. Определитесь с тем чего хотите и чего вы делаете ;) Это сообщение отредактировал(а) Fally - 27.7.2007, 10:07 |
|||
|
||||
| pr1de |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 20.7.2007 Репутация: нет Всего: нет |
большое спасибо всем кто помогал!
|
|||
|
||||
| wolfmessing |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 24.4.2007 Репутация: нет Всего: 1 |
ОК спосибо за замечание учту |
|||
|
||||
![]()
|
| Правила форума "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. |