Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помощь по проекту [3]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (4): « 1 2 [3] 4 »   

> Описание: Сократить или нет
Champion Супермодератор
Отправлено: 12 Января, 2010 - 20:20:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Ammy пишет:
На сервере включены волшебные кавычки, а выключить пока не позволяют, у них он раз в день перезапускается.
Ты ведь недавно тему про безопасность поднимала) Там есть штука для включенных магических кавычек Улыбка
Ammy пишет:
Регулярка плохая.
Попробуй исправь. Я уверен, в ней не хватает 2 символа.
 
 Top
Ammy
Отправлено: 12 Января, 2010 - 20:26:13
Post Id



Частый гость


Покинул форум
Сообщений всего: 140
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




Цитата:
Ты ведь недавно тему про безопасность поднимала) Там есть штука для включенных магических кавычек

Ну не нравится мне это выражение, не хочется добавлять такие функции. Исходя из того, что не у всех они включены, кавычки эти, да и нужно будет - выключат. Ведь можно сделать:

PHP:
скопировать код в буфер обмена
  1.  
  2. if (get_magic_quotes_gpc()) die('Техническое требование: отключите волшебные кавычки');
  3.  


И в контроллер. )

bring_to_eat готово! Радость
 
 Top
Ch_chov
Отправлено: 12 Января, 2010 - 20:27:41
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Про XSS забыла.
 
 Top
Ammy
Отправлено: 12 Января, 2010 - 20:33:18
Post Id



Частый гость


Покинул форум
Сообщений всего: 140
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




Ch_chov, я написала о нём выше, и пока не исправила. Вывод списка пользователей в защищённой части - это временное решение, чтобы смотреть, кто зарегистрировался, а кто нет, поэтому написанию этого фрагмента уделила так мало внимания, в особенности с точки зрения безопасности. Сейчас поправлю..
(Добавление)
Итак:

Цитата:
Электронный адрес пропустила не правильный))

Цитата:
Попробуй исправь. Я уверен, в ней не хватает 2 символа.

^$ исправлено.

Цитата:
?do=bring_to_eat не работает. Я думал, мне поесть принесут, а там - ноль реакции.

Исправлено.

Цитата:
И логин из восьми кавычек не подходит по длине)

''''' подходит, а у тебя? Ха-ха

PHP:
скопировать код в буфер обмена
  1. if (strlen($user) < 3 || strlen($user) > 15) die('Логин должен состоять не менее, чем из 3 символов, но не более, чем из 15!');


Цитата:
Про XSS забыла.

Исправлено.

Цитата:
Имя пользователя dfg'gh выводится со слешем.

После перезагрузки серверов хостера.
(Добавление)
Вопросы:

1. Вернуть проверку на занятость адреса эл. почты? (+1 запрос к базе при регистрации)
2. Вернуть возможность свободного никнейма, или оставить так, как есть сейчас? (а сейчас можно регистрировать ники состоящие из валидных символов, знака подчёркивания, и никаких русских букв)
3. Нужно сделать возможность просмотра профиля и, соответственно, дать возможность заполнять профиль различными данными. Каков будет минимум этих данных исходя из общих положений потребности в них? На мой взгляд: аватар (традиция), подпись, icq, что ещё??
 
 Top
Мелкий Супермодератор
Отправлено: 12 Января, 2010 - 22:20:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Ammy пишет:
На мой взгляд: аватар (традиция), подпись, icq, что ещё??

Jabber! И др мессенджеры. Текстовое поле "о себе" по желанию.

Ammy пишет:
1. Вернуть проверку на занятость адреса эл. почты? (+1 запрос к базе при регистрации)

Почему +1 запрос? На уникальность ника уже проверяете, осталось только добавить условие "или такое мыло занято"

Кстати, зря русские символы в мыле вырезаете - для обладателей товарных знаков уже (для остальных - с апреля) регистрируют кириллические домены.


-----
PostgreSQL DBA
 
 Top
Ammy
Отправлено: 12 Января, 2010 - 22:26:18
Post Id



Частый гость


Покинул форум
Сообщений всего: 140
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




Цитата:
Почему +1 запрос? На уникальность ника уже проверяете, осталось только добавить условие "или такое мыло занято"

PHP:
скопировать код в буфер обмена
  1. $query = mysql_query("SELECT `id` FROM `users` WHERE `user` = '".mysql_real_escape_string($user)."' LIMIT 1") or die(mysql_error());


OR `mail` = ? А?!
(Добавление)
IF EXISTS Ниндзя
 
 Top
CenapaTop
Отправлено: 12 Января, 2010 - 23:06:47
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Авг. 2009  


Помог: 1 раз(а)




PHP:
скопировать код в буфер обмена
  1. OR `mail` ='".mysql_real_escape_string($mail)."'

(Отредактировано автором: 12 Января, 2010 - 23:08:34)

 
 Top
Ammy
Отправлено: 12 Января, 2010 - 23:09:47
Post Id



Частый гость


Покинул форум
Сообщений всего: 140
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




Мне кажется, что такой запрос не совсем правильный. Однако
 
 Top
CenapaTop
Отправлено: 12 Января, 2010 - 23:23:23
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Авг. 2009  


Помог: 1 раз(а)




А что неправильного?
 
 Top
Ammy
Отправлено: 12 Января, 2010 - 23:31:19
Post Id



Частый гость


Покинул форум
Сообщений всего: 140
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




Я уже думала в пользу этого OR запроса, но, понимаете, нужно как-то конкретизировать пользователю что именно занято в данный момент. Если логин, то сообщить ему об этом, а если эл. адрес, то, соответственно, сообщить, что занят адрес. В данном случае получается, что если применить такой запрос, то приходится выводить расплывчатое уведомление о том, что одно из двух занято. Конечно, это не такая уж и проблема, но...
 
 Top
CenapaTop
Отправлено: 12 Января, 2010 - 23:43:27
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Авг. 2009  


Помог: 1 раз(а)




Мысли такие: проверка адреса почты большого смысла не имеет(тавтология)
Зачем нужен адрес:
восстановление пароля
пересылка сообщений администрацией
спам.

Если нужен реальный адрес: регистрация через контрольное письмо,
если нет: забить на адрес.
 
 Top
Ammy
Отправлено: 12 Января, 2010 - 23:45:12
Post Id



Частый гость


Покинул форум
Сообщений всего: 140
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




Я спать. Улыбка

Champion, если ты читаешь это сообщение, значит пора проводить ещё один тест. В этот раз визуальных неурядиц может быть наименьшее число, и, быть может, на сервере наконец выключат волшебные палочки. Завтра (то есть сегодня) буду писать профиль, загрузку аватаров (с опцией заливкой шелла естественно Ха-ха ), и смогу потом спокойно дописывать урок.

Как говорил Мелкий, нужно добавить максимально возможные мессенджер-поля, а так же дополнительные поля для описания себя. Ну и пол, думаю, тоже стоит включить в перечень профайловых опций, чтобы все не выглядели бесполыми сущностями. Ха-ха Спасибо всем большое!!
(Добавление)
Цитата:
Мысли такие: проверка адреса почты большого смысла не имеет(тавтология)
Зачем нужен адрес:
восстановление пароля
пересылка сообщений администрацией
спам.

Если нужен реальный адрес: регистрация через контрольное письмо,
если нет: забить на адрес.


Да, вы правы. Я соглашусь. Можно потом в админке написать блок кода, который будет взаимодействовать с контроллером, и выполнять поиск аккаунтов с одинаковыми адресами, а там уже чего-нибудь придумать. Улыбка
 
 Top
Champion Супермодератор
Отправлено: 13 Января, 2010 - 08:45:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




CODE (text):
скопировать код в буфер обмена
  1. select email, login ... where есть email or login;
  2. $errors = array();
  3. цикл $row = mysql_fetch {
  4.     Если $row[login] = $_POST[login] $errors[] = 'Логин уже есть';
  5.     Если $row[email] = $_POST[email] $errors[] = 'Email уже есть';
  6. }
 
 Top
EuGen Администратор
Отправлено: 13 Января, 2010 - 10:38:32
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Champion
Я бы сделал просто запрос, который выбирает строки, логин/email которых совпадает с введенными. Если выберется - значит, есть.
Ammy
Активацию аккаунтов через e-mail и вправду неплохо бы сделать, так как это есть наиболее верный способ проверки не только правильности написания e-mail адреса, но и его реальности и принадлежности вводящему данные.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Champion Супермодератор
Отправлено: 13 Января, 2010 - 11:36:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




EuGen, нужно определить чего имеено в базе уже есть: логин или е-мейл и при этом не делать 2 запроса к БД. Я из этих соображений. В предыдущих постах такое желание высказывалось.
 
 Top
Страниц (4): « 1 2 [3] 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Наработки по собственным проектам »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB