|
3 / 3 / 1
Регистрация: 13.03.2012
Сообщений: 29
|
||||||||||||||||
Авторизация12.11.2012, 02:37. Показов 3812. Ответов 15
Метки нет (Все метки)
Здравствуйте!
Я не профи в ООП, но немного всетаки знаю, еще учусь вчера начал работать над Авторизацией и хочу чтобы вы оценили его с точки зрения професионалов и с безопасности. сделайте замечания))) пожалуйста кому не лень посмотрите login.class.php
0
|
||||||||||||||||
| 12.11.2012, 02:37 | |
|
Ответы с готовыми решениями:
15
авторизация Авторизация авторизация |
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
||||||
| 12.11.2012, 04:03 | ||||||
|
В 4 утра уже спать хочется, но что сильно бросается в глаза, так это:
1) почему свойства логин и пароль статик? а функция авторизации не статик? Зачем тогда вообще класс создавать? Сделайте статик функцию и всё. Или же класс сделайте синглтон а переменные можно тогда закрытые и не статик делать. 2) зачем вы делаете выборку по логину с базы, а потом сразу проверяете совпадает ли логин, как он может не совпасть? Вы же по ниму делали выборку. В 35 строке нужно убрать сравнение логина. 3) вы не проверяете вернулся ли результат. В 35 строке нужно добавить проверку существования результата, то есть
5) нельзя на основании просто наличия куки считать что пользователь авторизован, никто не мешает не авторизованному юзеру установить любые куки с любыми именами у себя в браузере. 6) зачем нужны куки и hash если у вас нет не где проверки кук и авторизации если они есть, я так понимаю они нужны только для того что бы восстановить сессию. 7) после переадресации с помощью header нужно останавливать работу вашего скрпита, так как браузер не сразу начнёт переадресацию а только после того как получит заголовки, потом будет обрыв соединения, и ваш скрпит ещё многое может успеть сделать после header. Ну и имена классов желательно писать с большой буквы, так принято
1
|
||||||
|
3 / 3 / 1
Регистрация: 13.03.2012
Сообщений: 29
|
|
| 12.11.2012, 04:42 [ТС] | |
|
Ого не ожидал что столько замечаний будет
![]() благодарю, + с меня) Пойду все исправлять
0
|
|
|
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
|
|
| 13.11.2012, 21:39 | |
|
судя по коду, скопипастили код из статьи на хабрахабре
0
|
|
|
3 / 3 / 1
Регистрация: 13.03.2012
Сообщений: 29
|
|
| 15.11.2012, 10:13 [ТС] | |
|
нет. не знаю "хабрахабре" но код писал я
но до этого много статей пересмотрел)) а функсйю generateCode взял из инета
0
|
|
|
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
|
|
| 15.11.2012, 22:56 | |
|
1
|
|
|
25 / 25 / 6
Регистрация: 04.07.2013
Сообщений: 260
|
|
| 13.10.2013, 05:43 | |
|
0
|
|
|
Заблокирован
|
||
| 18.10.2013, 08:00 | ||
|
Говорят на хабре такое пишут? Ничего удивительного. Один только вопрос. Чем отличается авторизация от заведения записи в таблицу где поле user_name поставлено ограничителем типа uni?
0
|
||
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
||
| 18.10.2013, 12:19 | ||
![]() А вообще, лимит 1 ставят для скорости выполнения запроса, когда у вас 1кк+ записей, с лимит 1 поиск прекратиться, как только будет найдена запись, без лимит, продолжится до конца, перебирая все записи.
1
|
||
|
Заблокирован
|
||
| 20.10.2013, 19:58 | ||
|
Поэтому такие поля индексируют, а поскольку двух одинаковых юзеров быть не может, то индексируют уникально. Что одновременно ставит и в ряд ограничителей нарушения целостности. Тем не менее LIMIT 1 признаю.
0
|
||
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
| 20.10.2013, 22:29 | |
|
Зачем оценивать глубину номера? Из 1кк пользователей, в 999 999 случаях запись будет не в самом конце
![]() Пароль тут вообще не при чём. Разговор о выборке с использованием именно LIMIT 1 при условии что запись и так будет только 1. Вообщем на сколько это будет быстрей, я не знаю, я не спец по MySQL, но я думаю хуже не должно от этого быть, иначе такие фв как Yii, RoR, Django... не делали бы так.
0
|
|
|
Заблокирован
|
|
| 21.10.2013, 06:13 | |
|
Разговор о лимите 1 закончился когда я признал что лимит полезен. Отдельный запрос на пароль при том.
0
|
|
|
363 / 334 / 38
Регистрация: 29.03.2011
Сообщений: 838
|
|
| 24.10.2013, 20:14 | |
|
DrobyshevAlex, если есть индекс по полю, поиска не будет не зависимо от наличия/отсутствия LIMIT 1 (№ записи возьмётся из индекса и по ней уже БД проверит остальные условия), если индекса нет - кто-то сам себе злой буратино, но LIMIT 1 будет скрывать эту проблему до поры до времени (пока в БД < 10к записей будет работать шустро). Потом владельцы удивляются, что сайт через год притормаживать начал..
За Yii не скажу, но в Django - не встречал, чтобы Limit добавлялся куда-то неявно (в запрос с Limit 1 превращается срез по 1му полю, например: MyModel.objects.filter(my_field=my_value )[0], но тут не выборка по unique и Limit НУЖЕН - и это явная запись, просто в ORM-нотации; при запросе MyModel.objects.get(my_id) никаких лимитов в SQL вы не увидите, более того, джанго будет ругаться, если найдёт больше одной записи)
0
|
|
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
| 24.10.2013, 21:42 | |
|
Ну я на джанго делал всего 1 проект да и то года 2+ назад, особо не помню
![]() Но точно помню что find в Yii и в RoR добавляют limit 1. Я не спец в бд, так что я даже не могу сказать точно даст ли это без индексов прироста, я знаю лишь что я читал из "умных" статей на хабре, туда же типа не пускают с плохими статьями. И вот тут немного инфы.
0
|
|
|
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
|
|||
| 25.10.2013, 07:32 | |||
|
0
|
|||
|
Заблокирован
|
||||||
| 25.10.2013, 14:02 | ||||||
|
LIMIT 1 безусловно полезен. Без него богатая счетами бд начнет тормозить. И индексы тут не при чем. Они очень даже будут на месте, но 99 процентов читателей, точнее писателей, демонстрируют вот такой ломовой прием:
0
|
||||||
| 25.10.2013, 14:02 | |
|
Помогаю со студенческими работами здесь
16
Re: авторизация
Авторизация Авторизация и куки Сессия. Авторизация Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|