Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Форум для смартфонов - с какой стороны подступиться
 
 автор: Inque   (07.04.2007 в 23:34)   письмо автору
 
 

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

Хочу, чтобы пользователи не вводили триста раз свои данные и форум "помнил" их. Прочел раздел в вашей книге про cookie и работу с ними. Но мне подсказали, что куки можно украсть. Метод, который был описан в книге (шифрование) для форума не подходит, т.к. по-моему, это довольно длительный процесс (отн. быстродействия остального) для форума. Поэтому я думал-думал, и решил комбинировать сессии с куками. Короче говоря, хочу сделать так (далее алгоритм):

1. Юзер регится.
2. Создается кука с некторым паролем рандомно-генерируемым, пишется значение в БД для конкретного юзера.
3. Открывается сессия.

Далее, после продолжительного времени юзер заходит на форум:

5. Есть сессия? Да - разрешаем писать. Нет? идем на 6.
6. Есть кука с именем key или нет? Есть - проверяем ее с бд, открываем сессию, перезаписываем куку на новую рандомную (и в бд тоже).

Вопрос, это поможет мне защититься от взлома? Заранее спасибо всем, кто откликнется.

   
 
 автор: Inque   (08.04.2007 в 16:53)   письмо автору
 
   для: Inque   (07.04.2007 в 23:34)
 

Помогите, пожалуйта, оч. нужна подсказка! Как по простому сделать cookie-авторизацию? Да так, чтоб безопасно было!

   
 
 автор: Storm9   (08.04.2007 в 17:00)   письмо автору
 
   для: Inque   (07.04.2007 в 23:34)
 

Я правильно понял, кука будет со случайным именем, или все таки со случайным значением?

   
 
 автор: Inque   (08.04.2007 в 17:30)   письмо автору
 
   для: Storm9   (08.04.2007 в 17:00)
 

Значением. Имя одно - key

   
 
 автор: Unkind   (08.04.2007 в 20:35)   письмо автору
 
   для: Inque   (08.04.2007 в 17:30)
 

Только для смартов хотите форум сделать? Просто количество телефонов, поддерживающих cookies почему-то очень мала. Можете посмотреть приблизительную статистику SEclub.org.
В данном случае лучше передавать SID по URL.

   
 
 автор: Inque   (09.04.2007 в 11:00)   письмо автору
 
   для: Unkind   (08.04.2007 в 20:35)
 

Unkind, насчет этого не волнуйся - с телефонами я работаю уже года так 3 и практически все современные телефоны, не говоря уже о смартфонах (хотя форум для них) поддерживают систему MIDP 2.0 и выше, а это значит, что на них пойдет браузер OperaMini, который поддерживает все необходимые функции для полноценного серфинга. Насчет SEClub - зря ты мне его в пример привел, я недавно читал, что его сломали. А насчет sid'а по url можно по-подробней?

   
 
 автор: Inque   (14.04.2007 в 17:26)   письмо автору
 
   для: Inque   (09.04.2007 в 11:00)
 

Подниму тему... cheops, хочу услышать мнение профессионала по поводу перезаписи кук. :)

   
 
 автор: cheops   (15.04.2007 в 01:00)   письмо автору
 
   для: Inque   (14.04.2007 в 17:26)
 

Злоумышленик если может украть cookie, то он может получить и последнюю cookie, а в то время когда законный её владель отсутствует подхватить цепочку... Лучше постараться не создавать XSS-инъекций и использовать cookie в штатном режиме.

   
 
 автор: Inque   (15.04.2007 в 13:59)   письмо автору
 
   для: cheops   (15.04.2007 в 01:00)
 

Он получит последнюю куку, ну и что с того? Через некоторое время оригинальный юзер стукнется в форум, его выкинет на авториз, т.к. куки уже не совпали - злоумышленник при авторизе с украденными куки автоматически их перезаписал на рандомногенерируемые. Оригинальный юзер автоматически их перезапишет и злоумышленнику опять придется заново воровать куку. В конце концов ему надоест. Хотя если это куки админа...

   
 
 автор: cheops   (15.04.2007 в 14:05)   письмо автору
 
   для: Inque   (15.04.2007 в 13:59)
 

А злоумышленик не сможет сменить пароль за время доступа к форуму?

   
 
 автор: Inque   (15.04.2007 в 15:36)   письмо автору
 
   для: cheops   (15.04.2007 в 14:05)
 

Ну, скажем, сможет, но ему надо будет ввести старый))

   
 
 автор: cheops   (15.04.2007 в 16:31)   письмо автору
 
   для: Inque   (15.04.2007 в 15:36)
 

Есть ли какая нибудь выгода от авторизации под чужим именем на вашем форуме? Если она не большая, можно не очень сильно замарачиваться на эту тему. Существующей защиты вполне достаточно, а желающих получить доступ к чужому аккаунту без какой-то конкретной цели очень мало...

   
 
 автор: Inque   (15.04.2007 в 16:47)   письмо автору
 
   для: cheops   (15.04.2007 в 16:31)
 

Хех, ну во-первых не надо каждый раз авторизица - это делается много раз чаще, чем смена пароля... Что касается злоумышленников - есть такие. Если они своровав куку у админа зайдут на форум - они смогут не то что писать от него - они смогут удалять... А это куда опасней. А люди такие есть. Они ждут когда я открою форум))

   
 
 автор: cheops   (15.04.2007 в 16:56)   письмо автору
 
   для: Inque   (15.04.2007 в 16:47)
 

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

   
 
 автор: Unkind   (15.04.2007 в 18:17)   письмо автору
 
   для: Inque   (15.04.2007 в 16:47)
 

Немного не понятны последние два пункта в Вашей схеме авторизации пользователя. Зачем тогда сессии вообще, если Вы хотите сделать какой-то дополнительный идентификатор, который опять же дает доступ к аккаунту фактически в любое время с момента последней авторизации?
Не заморачивайтесь так c кражей cookies. Вы все-таки пишите форум для мобильных устройств и я сомневаюсь, что там найдется место для XSS.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования