|
На страницу « 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 » |
|
|
|
|
Возраст: 38 C нами с 25.01.2005 Репутация: 133
|
|
Язык программирования, разработанный специально для динамической генерации веб-страниц. Намного превосходит возможности SSI. Имеет функции работы с базами данных (MySQL), создания графических файлов Jpeg и PNG (библиотека GD), обработки XML-документов и многие другие.
|
|
|
|
|
|
|
|
Возраст: 38 C нами с 08.05.2009 Репутация: 5.6
|
|
Silicoid,
Я думаю что можно условие поставит на куки
Silicoid писал(а): |
точнее как проверить наличие PHPSESSID, если у человека отключены куки
|
Можно куки выдаваемые при логине записывать в базу мускул по привязке к пользователю и сверять с куками зашедшего если куки есть то пускаем а если нет тогда сообщение с просьбой включить кук
|
_____________________________ Прошу не тыкать в мануал его и так предостаточно!!!
|
|
|
|
|
|
|
Возраст: 45 C нами с 28.07.2005 Репутация: 135.1
|
|
Павлин, можно повесить сессии в базу. Можно еще держать в файлах на серваке, но это всё из разряда извращений и нагрузка на базу возрастает, эт раз и 2. еще не на всяком хостинге дадут менять php.ini?, чтоб
session_set_save_handler заработала
вобщем камней мильён тут ..
|
|
|
|
|
|
|
|
Возраст: 45 C нами с 28.07.2005 Репутация: 135.1
|
|
Я тут с нашими программерами посоветовался, они предлагают в случае отключенных куки, посылать данные сессии через аякс методом пост (ну или гет) что в принципе я и сделал. вчера.
так что если вдруг-чего, о только таким методом можно это сделать без особых извращений
|
|
|
|
|
|
|
|
Возраст: 42 C нами с 25.09.2006 Репутация: 77.9
|
|
Стоит ли вообще заморачиваться с человеками без кукис, когда их обычно менее 1% процента пользователей?
а session_set_save_handler можно менять на лету, кстати. php.ini не при чем
|
|
|
|
|
|
|
|
Возраст: 45 C нами с 03.03.2006 Репутация: 100.4
|
|
Silicoid, не надо человеку мозг парить с ЧПУ. Никаким идеалом и целью для стремления это новомодное течение не является. По сути, никаких преимуществ не даёт, только нагружая сервер дополнительным разбором пришедших адресов. Применимо в узких областях, абсолютно неуместно в системах с авторизацией, вычислительными запросами. А в случае ajax, вообще применение ЧПУ теряет свой единственный плюс.
Очередная придумка, чтобы "помочь" пользователю... зачем? Если пользователь не шарит, ему это не поможет.
З.Ы. Проблема возможного отсутствия кук решается их неиспользованием.
|
|
|
|
|
|
|
|
Возраст: 38 C нами с 08.10.2005 Репутация: 77.1
|
|
В общем-то нельзя надеяться только на куки. Достаточно, просто, ту же авторизацию или корзину магазина сделать на основе гибридной системы. Куки + сессия. Если есть куки - храним данные, потом забираем и передаем в модуль авторизации, который уже работает с сессией. Предварительно надо конечно проверить все что пришло из куки. Постараться не хранить в куки пароли в обычном MD5 - вскрываются легко. И еще некоторые моменты учесть. А уж сессии то везде работают. Тогда вероятность взлома можно свести к минимому. Простыми способами хотябы не возьмут.
А вообще стоит, например, почитать что-то вот такого [для начинающих] типа.
|
|
|
|
|
|
|
|
Возраст: 45 C нами с 28.07.2005 Репутация: 135.1
|
|
4t0m, jah вот я и решил всё это передавая id сессии в скрипт на прямую через post запрос. все проблемы. А потом уже на стороне сервера проверяем имеется-ли такая сессия. если уже имеется, тог гут, если такой сессии нет, материмся и посылаем. Собсно говоря наши программеры так и советуют делать.
Вообще говоря у меня есть правило,
- ничего не хранить на сторон клиента того, что можно стырить.
по этому такие вот заморочки
Добавлено спустя 6 минут 3 секунды:
NarWhal, это удобно как минимум.
я задолбаюсь писать http://silicoid.ru/index.php?action=news&news_id=3
согласитесь всегда проще написать http://silicoid.ru/news/3
как минимум шифт нажимать в 3 раза меньше, да и понятнее . можно стереть /3 и попасть в раздел новостей из конкретной новости...
конечно там где не имеет смысла заморачиваться с человекопонтными адресами (в админке, например) и не стоит с ними заморачиваться
|
|
|
|
|
|
|
|
Возраст: 42 C нами с 25.09.2006 Репутация: 77.9
|
|
не, я могу, конечно, тупить, но...
первый вариант событий:
1. к вам приходит человек без кукис и ходит-ходит по сайту...
2. потом находит форму авторизации и хочет авторизоваться - вы кукис (id сессии) не находите - и ессесно посылаете.
второй:
1. хитрый-хитрый хакеренок на цыпочках, прикрываясь обычным лоховатым пользователем ходит и ходит у вас по сайту с куками.
2. увидев форму авторизации - отключает куки и начинает нагло ломиться на сайт, и тут, благобдаря вашим действиям с POST'ом - авторизуется.
вы какую проблему то решаете посредством id сессии в post запросе при авторизации? или у вас сессии хранятся вечно?
вы тогда уж повесьте javascript который 1 раз проверяет наличие кукис и если нет пихайте сессию в GET запрос.
|
|
|
|
|
|
|
|
Возраст: 45 C нами с 27.03.2005 Репутация: 205.2
|
|
Цитата: |
вы какую проблему то решаете
|
По русской национальной традиции — самостоятельно созданную из ничего.
По-моему, рассуждения на тему «как бы красиво обслуживать пользователя без куков» сродни размышлениям о том «как бы всех сделать счастливыми, даже тех, кто этого не хочет». С практической точки зрения важно, что у подавляющего большинства вменяемых пользователей куки включены. А с точки зрения здравого смысла ситуация с обслуживанием мазохистического пользователя без куков выглядит примерно так:
— Здравствуйте, я хочу войти к вам на сайт!
— Здравствуйте, рады Вас видеть, кто Вы?
— Я В.В.Пупкин!
— Очень приятно, вот Вам житончик с Вашим индивидуальным номером, с ним Вы сможете беспрепятственно ходить по сайту, добро пожаловать!
— Житончик? Да вы ч0, с ума сошли?? Нафиг он мне нужен! Я никаких житончиков носить не буду!
—
|
_____________________________ Уточняйте значение слов, и вы избавите человечество от половины своих заблуждений. Рене Декарт
|
|
|
|
|
|
|
Возраст: 42 C нами с 25.09.2006 Репутация: 77.9
|
|
Это из темы "есть чо?"
Идем в статистику:
LiveInternet - Самые задр?%енные сервисы
В среднем за 3 месяца, просмотры без кукис / все просмотры = 702 025 324 / 49 022 427 136 = 0.014320493
НУ И НАГРУЯ?
К вам мало ходит народу и вы хотите показать что вы любите всех? Верстку например можно тоже тогда для IE 3.0 да Навигатора запиндорить...
без обид только
|
|
|
|
|
|
|
|
Возраст: 45 C нами с 28.07.2005 Репутация: 135.1
|
|
jah, Олег,
вообще по-моему, вы немного не поняли.
сам php работает по такому принципу, что если не получается записать идентификатор сессии пользователя в куки, то он его дописывает в строку запроса. и передает методом GET. Это стандартная практика, которую , в принципе, можно отключить. Но по дефолту оно Всегда так работает.
вопрос с кулхацкером решается просто
1. запуск сессии
2. if ($_SESSION['registred'] == flase) {/*посылаем кулхацкера лесом*/ }
т.е. для того, чтобы кулхацкер смог запустить скрипт, он должен где-нить снифить id какой-нибудь текущей сессии, а это сложно, достаточно.
друге дело, как получить идентификатор сессии в php скрипт, который запускается ява-скриптом. т.е. аяксом. вот по этому-то и приходится делать всё то, что делает php по дефолту, но только руччками...
я думаю на этом тему можно закрыть. вопрос решился без сторонней помощи, а переливать из пустого в порожнее и обсуждать элементарного коня в вакууме, думаю, абсолютно бесполезное занятие.
|
|
|
|
|
|
|
|
Возраст: 42 C нами с 25.09.2006 Репутация: 77.9
|
|
лично я лишь пытался понять зачем. извиняюсь, если вышел за рамки светской беседы.
ajax-запрос шлет все кукис стандартным способом через браузер, для решения проблемы с снифанием сессии есть session_regenerate_id()
может мы о разных вещах разговаривали? ну да закрыли тему, ибо, кажись, холивар начинается.
|
|
|
|
|
|
|
|
Возраст: 45 C нами с 28.07.2005 Репутация: 135.1
|
|
jah, это нужно для того, чтобы нельзя было директорно достучаться к скрипту обрабатывающему аякс запросы, просто набрав его адрес в строке браузера.
ессно если разобрать под микроскопом код страницы то можно вычислить все адреса, по которым обращается тот или иной скрипт.
а если скрипт, например, загружает файл с другог url или производит изменеия в БД, то можно получить админские полномочия. например, просто набрав определенную комбинацию букаф в строке запроса. правильно?
ну так вот. у меня сначала производится сравнение. является-ли человек, который направляет это запрос,
а. залогиненым и
б. админом.
если условие совпадает. отлично. работаем.
если нет. выдаем hacking attempt и выходим. всё собсно.
вот по этому и возник изначально вопрос, а как быть, если, вдрук, этот админ-параноик и не включил куки? сторонний скрипт-то не сможет считать сессию. потому, что яваскрипт не умеет передавать автоматом данные сессии, а куки выключены. ну вот и приходится передавать их в ручную. т.е. эмулировать стандартную php-шную функциональность, но ректально.
|
|
|
|
|
|
|
|
Возраст: 45 C нами с 03.03.2006 Репутация: 100.4
|
|
Silicoid, всё правильно говорите. Данная беседа даже подвигла меня на перечитывание некоторых статей по сетевой безопасности в случае с php+$_SESSION.
Хочу добавить ремарку. Вернее, пример, как подобная защита легко проходится злоумышленником в некоторых случаях. Предположим, у нас есть форум, мы храним по стандартному алгоритму параметры сессии в куках. Если на данном форуме есть возможность постить картинки, то делается следующее. На хосте злоумышленника создаётся скрипт pic.gif, дающий на выходе картинку, но перед этим производящий операции чтения и обработки кукесов. В итоге, мы имеем всё необходимое для записи в кукесы и автоматической авторизации под любым пользователем, просто просмотревшего данную страницу форума-донора.
Пока не копал сильно, что с этим делать...
|
|
|
|
|
|
|
|
C нами с 06.07.2008 Репутация: 42.2
|
|
pic.gif не будет обрабатываться php если на сервере на прописан AddType application/x-httpd-php .gif разумеется если админ не глуп он не будет писать эту строчку
|
|
|
|
|
|
|
|
На страницу « 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 »
|
|