Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание собственных сессий, описание архитектуры, строения 
:(
    Опции темы
Zmiuko
  Дата 6.3.2010, 06:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Прощу сильно не "бить".. это делается для себя, самопознания и маленького проекта. Спасибо.

Делаю своеобразную эмуляцию сессий. Вот. Даже код написал:

Код

<?php
class session
{
 var $sdb;
 var $set;
 var $sid;
 var $caller;
 function session()
 {
  $this->sdb = new msdb;
  $this->caller["hash"] = $this->genhash();
  $this->set["dir"] = "./db/sessions/";
  $this->set["sidlen"] = 12;
  $this->set["sidchars"] = "abcdefghijklmopqrstvuwxyzABCDEFGHIJKLMOPQRSTVUWXYZ1234567890";
  $this->set["hashline"] = "@REMOTE_ADDR@@@HTTP_CONNECTION@@HTTP_HOST@";
  $this->set["useHash"] = false;
  $this->set["expsess"] = 60*60*24;
 }
 function open($sid)
 {
  if (!$this->parseSession($sid))
  {
   $this->createSession();
   return false;
  }
  else {return true;}
 }
 function createSession()
 {
  $sid = $this->gensid();
  $this->sid = $sid;
  $this->sdb->load($this->set["dir"].$sid);
//  $this->sdb->lock();
  $this->sdb->db = array("inf"=>array("hash"=>$this->genhash()),"vars"=>$this->vars);
  $this->sdb->flush();
  $this->sid = $sid; 
  return $sid;
 }
 function checkhash()
 {
  if ($this->set["usehash"]) {return $this->caller["hash"] == $this->sdb->db["inf"]["hash"];}
  else {return true;}
 }
 function parseSession($sid)
 {
  if ($this->isSession($sid))
  {
   $this->sid = $sid;
   $this->sdb->load($this->set["dir"].$sid);
//   $this->sdb->lock();
   if (!$this->checkhash()) {return false; exit;}
   else
   {
    $this->sid = $sid;
    return true;
   }
  }
  else {return false;}
 }
 function flush($sid="")
 {
  if (!$this->checkhash()) {return false;}
  else
  {
   if (empty($sid)) {$sid = $this->sid;}
   $this->sdb->flush();
  }
 } 
 function gensid()
 {
  while (true)
  {
   $sid = "";
   $sidchrlen = strlen($this->set["sidchars"]);
   for($i=0;$i<$this->set["sidlen"];$i++)
   {
    $nc = rand(0,$sidchrlen);
    $sid .= $this->set["sidchars"][$nc];
   } 
   return $sid;
   if (!$this->isSession($sid)) {break;}
  }
 }
 function genhash()
 {
  $arrstrreplace = array("@HTTP_CONNECTION@"=>$HTTP_CONNECTION,
"@HTTP_HOST@"=>$HTTP_HOST,
"@HTTP_CONNECTION@"=>$HTTP_CONNECTION,
"@HTTP_USER_AGENT@"=>$HTTP_USER_AGENT,
"@REMOTE_ADDR@"=>$REMOTE_ADDR,
"@REMOTE_PORT@"=>$REMOTE_PORT
);
  $hash = myphpcrypt(str_replace(array_keys($arrstrreplace),array_values($arrstrreplace),$this->hashline));
  return $hash;
 }
 function isSession($sid) {return !empty($sid) and file_exists($this->set["dir"].$sid);}

 function destroy($sid="")
 {
  if (empty($sid)) {$sid = $this->sid;}
  return @unlink($this->set["dir"].$sid);
 }
}
?>


Чего я прошу: дело в том, что мои сессии работают так - берется, грубо говоря ip и заноситься в некий файл или базу - не суть; имя ячейки либо файла, допустим, тот же ip только в base_64. НО ip брать не выход - так как многие сидят под одним, да и вообще на него нельзя надеяться. На HTTP_USER_AGENT и прочее: указание портов, провайдера - также не выход.

Чем я могу указать на уникальность пользователя в своих сессиях вместо ip? То есть чем вообще можно заменить этот ip? Спасибо.

ЗЫ: Понимаю всю несерьезность, несуразность и может быть глупость моего проекта (скрипт используется на мини-сайте, к удивлению достаточно хорошо себя ведет) .
ЗЫ 2: Ипатьев, на этот раз это не учебное занятие - я просто засоряю себе голову (естественно смысл присутствует). smile

Добавлено через 2 минуты и 37 секунд
Пардон, при создании топика не то написал - описание архитектуры... извините.
PM MAIL WWW ICQ Skype Jabber   Вверх
Ипатьев
Дата 6.3.2010, 09:21 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



как раз наоборот, в засорении головы смысла еще меньше, чем в невнятном учебном задании smile

Цитата(Zmiuko @  6.3.2010,  06:10 Найти цитируемый пост)
Чем я могу указать на уникальность пользователя в своих сессиях

Первый вопрос, который зададут в обязательном порядке ВСЕ читатели этого топика:
чем не устроил один из двух механизмов, используемых в стандартных сессиях?

Это сообщение отредактировал(а) Ипатьев - 6.3.2010, 09:51
PM MAIL   Вверх
MaXL
Дата 6.3.2010, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 24.10.2005
Где: Владивосток

Репутация: нет
Всего: 2



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

Это сообщение отредактировал(а) MaXL - 6.3.2010, 09:46


--------------------
MaXL
PM MAIL   Вверх
azesmcar
Дата 6.3.2010, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 12
Всего: 211



PM   Вверх
IgorIV
Дата 6.3.2010, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: 2
Всего: 8



PM MAIL   Вверх
Zmiuko
  Дата 6.3.2010, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



То бишь проще ввести ip{разделитель}time (адрес+время первого вхождения) ? ну можно еще ссылочку сделать на uniqid() 

Цитата(Ипатьев @  6.3.2010,  09:21 Найти цитируемый пост)
чем не устроил один из двух механизмов, используемых в стандартных сессиях?

Вот шож тебе неймется указать мне тот путь "как все"? Пускай я буду одним таким, нездравомыслящим. smile

Цитата(MaXL @  6.3.2010,  09:46 Найти цитируемый пост)
Но опять таки, нафига  ?

Преследую идею изобретения велосипеда ))))) шучу, конечно. Для самосовершенствования.

Спасибо, подсказали smile
PM MAIL WWW ICQ Skype Jabber   Вверх
Ипатьев
Дата 6.3.2010, 10:51 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



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

Zmiuko, вы так и не поняли.
Я делюсь знаниями. Базовыми знаниями. 
Оригинальность хороша, когда делаешь что-то действительно новое.
Но в вопросах таблицы умножения оригинальность не нужна. 2х2=4 , и с этим придется смириться. 
Ваша проблема в том, что вы полагаете себя гением, а свои задачи - уникальными. Не удосужившись при этом ознакомиться с букварем по программированию.

PM MAIL   Вверх
awers
Дата 6.3.2010, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Zmiuko, cамосовершенствование не в изобретении велосипедов, а в изучении существующих технологий с их подводными камнями.
PM MAIL WWW ICQ Skype   Вверх
azesmcar
Дата 6.3.2010, 12:11 (ссылка) |   (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 12
Всего: 211



В последнее время винград начал превращаться в свалку ненужной информации и флейма. Куда не глянь везде выяснение отношений и дурацкие споры не по теме. Что вам всем так неймется то? Ну задал человек, ответьте и закройте тему, нет же, надо часами доказывать ему что он нихрена не знает и это ему не нужно. Писать в учебных целях можно все что угодно, главное писать, на начальном этапе все на пользу. Годами люди обучаясь C++ пишут классические задачи list -ы и vector-ы (читать изобретают велосипед) и никто им не говорит "займись чем нибудь полезным" ибо в этом больше пользы, чем например в каком нибудь дурацком симуляторе лифта, который описан в Дейтлах. Изобретение велосипедов дает понимание устройства и работы этих самых велосипедов. Это мое мнение.

PM   Вверх
Ипатьев
Дата 6.3.2010, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Дело не в изобретении велосипеда.
Дело в том, у велосипеда треугольные колеса. 

Интересно, найдется хоть один человек кроме меня, который хотя бы прочтет вопрос и вникнет в суть проблемы?
А не будет отвечать на какие-то свои собственные ассоциации?
PM MAIL   Вверх
skyboy
Дата 6.3.2010, 12:52 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260




M
skyboy
прекратите перепалку в публичном месте. если вам доставляет удовольствие обмениваться остротами - пожалуйста, делайте это в ЛС


Добавлено через 4 минуты и 36 секунд
Ипатьев, почему бы просто не игнорировать? никто ведь не принуждает отвечать.
Zmiuko, плохо, что задача, судя по твоим словам, возникла "из ничего". лучше бы были какие-то реальные предпосылки – недостатки стандартного механизма, или, точнее, нехватка функционала. самому не обидно – решать задачу, не имеющую практического смысла?
azesmcar, в данном случае мне ситуация кажется ближе к попытке переписать библиотеку iostream "в целях обучения", чем к изучению векторов и массивов. раз уж обращаться к С-аналогиям. не думаю, что подобный труд имеет смысл.
PM MAIL   Вверх
azesmcar
Дата 6.3.2010, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 12
Всего: 211



Цитата(skyboy @  6.3.2010,  12:52 Найти цитируемый пост)
azesmcar, в данном случае мне ситуация кажется ближе к попытке переписать библиотеку iostream "в целях обучения", чем к изучению векторов и массивов. раз уж обращаться к С-аналогиям. не думаю, что подобный труд имеет смысл. 

Такой труд дает понимание внутреннего устройства библиотек и технологий. smile 

Работал я в одной конторе, там для написания веб приложений использовался язык C и писалось все на CGI. PHP, JSP, ASP .. все выкидывалось в мусоропровод, ничего не разрешено кроме чистого C. И там приходилось писать и свои сессии и много чего другого. Это так, о ненужности.

Это сообщение отредактировал(а) azesmcar - 6.3.2010, 13:14
PM   Вверх
Ипатьев
Дата 6.3.2010, 13:43 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



skyboy, никто. а я где-то говорил, что меня кто-то принуждает? Я пишу то, что считаю нужным и если считаю нужным. Меня никто к этому не принуждает. Я пишу по собственной воле и высказываю собственное мнение. 

Имеет ли задача практический смысл - этот вопрос здесь не при чем.
У автора есть конкретная проблема - идентифицировать клиента. При этом ни один из стандартных вариантов им не был рассмотрен. 
После того, как ему указали на это - начались обычные в его стиле выступления: ни слова по сути вопроса, одни рассуждения о собственной оригинальности. Я считаю, что после первой же фразы подобного плана топик надо закрывать.
PM MAIL   Вверх
bars80080
Дата 6.3.2010, 18:18 (ссылка) |   (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(azesmcar @  6.3.2010,  11:11 Найти цитируемый пост)
В последнее время винград начал превращаться в свалку ненужной информации и флейма. Куда не глянь везде выяснение отношений и дурацкие споры не по теме. Что вам всем так неймется то? Ну задал человек, ответьте и закройте тему, нет же, надо часами доказывать ему что он нихрена не знает и это ему не нужно. Писать в учебных целях можно все что угодно, главное писать, на начальном этапе все на пользу. Годами люди обучаясь C++ пишут классические задачи list -ы и vector-ы (читать изобретают велосипед) и никто им не говорит "займись чем нибудь полезным" ибо в этом больше пользы, чем например в каком нибудь дурацком симуляторе лифта, который описан в Дейтлах. Изобретение велосипедов дает понимание устройства и работы этих самых велосипедов. Это мое мнение.

ППКС

Цитата(Ипатьев @  6.3.2010,  11:17 Найти цитируемый пост)
Дело в том, у велосипеда треугольные колеса. 

а почему ты решил, что это не имеет право на существование?

user posted image

user posted image
PM MAIL WWW   Вверх
Ипатьев
Дата 6.3.2010, 18:32 (ссылка)  | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



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

Это сообщение отредактировал(а) Ипатьев - 6.3.2010, 18:34
PM MAIL   Вверх
IgorIV
Дата 6.3.2010, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: 2
Всего: 8



Цитата(Ипатьев @  6.3.2010,  10:51 Найти цитируемый пост)
А дальше мы что будем делать?

Писать найденный идентификатор в куки. 

Это сообщение отредактировал(а) IgorIV - 6.3.2010, 19:52
PM MAIL   Вверх
Ипатьев
Дата 6.3.2010, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Вот об этом и речь.
Ничего похожего у автора не наблюдается.
Вопрос был не как сгенерировать идентификатор, а чем заменить ip адрес в целях идентификации юзера.
Сама же по себе генерация униального идентификатора, привязанного к IP, никакую проблему решить не может.
PM MAIL   Вверх
Lexty
Дата 6.3.2010, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 6.3.2010

Репутация: нет
Всего: нет



Цитата(Zmiuko @  6.3.2010,  06:10 Найти цитируемый пост)
Чем я могу указать на уникальность пользователя в своих сессиях вместо ip? То есть чем вообще можно заменить этот ip? Спасибо.

Генерировать уникальный ключ, сохранять на сервере, подставлять в строку запроса или в куки и сравнивать.
PM MAIL ICQ   Вверх
azesmcar
Дата 6.3.2010, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 12
Всего: 211



Цитата(Ипатьев @  6.3.2010,  20:00 Найти цитируемый пост)
Вопрос был не как сгенерировать идентификатор, а чем заменить ip адрес в целях идентификации юзера.

ответ мог бы быть такой: заменить на сгенерированный идентификатор, и далее по тексту рассказ о том, как сгенерировать идентификатор. Я лично не нашел в вопросе ничего непонятного, если человек не знает как решать задачу естественно то, что он и вопрос правильно не сформулирует. Ему надо это объяснить, а не рассказывать на 2х страницах что его задача фуфло. Просто у многих тут уже выработалась привычка отвечать не по теме. Один раз я на просьбу подправить регулярное выражение я получил ответ "используй библиотеку, в которой это уже написано". Браво, и как же я сам не догадался, очень полезный совет. Модераторам надо бы чистить все темы от флуда, вообще я бы на месте администраторов добавил функцию "лучший ответ" выбираемую автором вопроса, а то реально теряешься, 20 страниц и все не по теме, а потом еще удивляются, что люди поиском не пользуются, разве тут что-то найдешь?
PM   Вверх
Ипатьев
Дата 6.3.2010, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



дада
все так и есть.
Автор вопроса пишет русским языком: "Чем я могу указать на уникальность пользователя"? Куча доброхотов кидается постить ссылки о том, как получить уникальность идентификатора.
А потом начинают рассуждать об ответах не по теме.
PM MAIL   Вверх
awers
Дата 6.3.2010, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Ипатьев, всё больше и больше флейма наблюдается и с твоей стороны. Будь любезен, умерь немного пыл и если есть чем помочь - помоги товарищу Zmiuko
PM MAIL WWW ICQ Skype   Вверх
Ипатьев
Дата 6.3.2010, 23:09 (ссылка) |   (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Я пробовал. В ответ на помощь я читаю такую вот фразу:
Цитата(Zmiuko @  6.3.2010,  10:42 Найти цитируемый пост)
Вот шож тебе неймется указать мне тот путь "как все"? Пускай я буду одним таким, нездравомыслящим.

Которую модераторы не считают ни флеймом, ни поводом к оргвыводам. 
Это меня удивляет.
Удивляет, что писать можно любую чушь, а опровергать ее нельзя, можно поддакивать. 

Если бы модераторы следили не только за тем, чтобы "Тишина была в библиотеке!", но и за осмысленностью высказываний посетилелей, то - клянусь - ни слова оффтопика от меня никто бы не услышал. 


Это сообщение отредактировал(а) Ипатьев - 6.3.2010, 23:14
PM MAIL   Вверх
awers
Дата 6.3.2010, 23:13 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



Ипатьев, считают, однако просьба была именно к тебе. Потому что Zmiuko не объяснить.
PM MAIL WWW ICQ Skype   Вверх
Zmiuko
Дата 7.3.2010, 00:07 (ссылка)    | (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



awers, пардон за флейм, но я извиняюсь если в чем-то разгневал или ввел в ситуацию неопределенности. Действительно не хотел. Вообще с моей стороны это просто непорядочно. Я не понимаю что и всегда имеет ввиду Ипатьев, но я тоже перед ним извиняюсь. Форум же считаю местом достаточным для простой организации "вопрос-ответ", ввергать вас в издевки или "шарлатанство" не имеет для меня удовольствия, так как вообще теряет смыл - для этого есть вконтакте и девочки-блондинки (не все). Что-то где-то изобретаю, что-то новое - хорошо забытое старое, но это же не повод упрекать, тем более профессионалам, достаточно прокомментировать в указание чего-либо, поскольку для этого этот форум и создан. Если бы мы друг другу флеймили по поводу ненужности - это бы в нас развивало не столько отвращение к собственной идеи, сколько претензионость, заученность неких правил только тормозящих сознание. Смотрите сами - мы живем по тем законам, что придумали сами, не более не менее и не смотря на их силу - это есть фикция и иллюзия, несмотря на всю их суровость, опять же суровость как и вся фикция придумана нами. Все как круговорот своя. Если я и что-то придумываю - проще указать на ошибку, либо реальную помощь, поскольку не столько дать понять в несерьезности и недальновидности идеи, от которой отказались все и вся, сколько дать ее рассмотреть, понять, изучить, проработать и в конце-концов дать опыт работы и таким образом преподать четкий и неголословный урок, а Урок с большой буквы, что так делать не следует. Чтобы человек не просто заучил слова Ипатьева, либо кого другого, а сам, самостоятельно, пускай не без помощи, наглядно увидел свою небрежность к мнению и несовершенство идей, пришел к определенному выводу и делал действительно нудные, пускай "не как все", а для себя самого вещи, проекты и прочее. В этом и состоит своеобразное воспитание. А по-другому и никак - вы, взрослые люди, воспитанные не на единой статье о php, да и не только им, вам как не кому другому должно быть это известно. Обидеть, или задеть, никого не хотел, в любом случае вы молодцы.
Да, я не соглашаюсь с вами, что предложенные мною коды, вопросы, идеи не соответствует сегодняшним принципам, идейности, реализациям, но если посмотреть трезво и не со ссылкой на меня, то заметим, что давно, уже более нескольких лет, любой программист, особенно с появлением фреймворков и сторонних библиотек, разучились думать в сторону оптимизаций и написания сложного функционала с нуля - да и зачем, проще использовать jquery (нет, он действительно хорош) или другую библиотеку, неважно какой бы то не был язык. Я пытаюсь понять структуру-технологию-проектирование с нуля. В этом нет ничего плохого. Даже если бы я использовал это для настоящих проектов - это было бы только мне в минус.
В любом случае, мне кажеться, при любом "справочном" вопросе, контрагент должен проявлять некую беспристрастность. В последнем случае человек спросил меня про закругление углов картинки в php, другой натыкал носом в код. Последний, на мой взгляд не был прав, во-первых данный скрипт не мой и легко находить даже в яндексе - ко мне претензий не должно было быть, во-вторых я человеку дал рабочий скрипт, пускай с небольщими минусами - но это есть подсказка. новичек использует как есть, профи - переработает, ни то ни другое - ну удосужиться создать здесь топик - в любом из них случае мне неважно зачем и к чему этому человеку нужен этот скрипт, поскольку я его и не продаю, да он и немой - вопрос есть вопрос, ответ есть ответ. Но я ответил развернуто и более ко мне ни по данному вопросу не было ни восклицаний, ни упреков, я действительно помог и все работало.
Ипатьев пускай не сердиться, что-то я ему наговорил в обиду, но не более того, что человек читает туториалы, а реальной помощи нет -поскольку теория есть теорией, а на практике теория есть не суть - более того иногда даже "подводные камни" создает. В любом случае я всегда благодарен уделенному вниманию, если оно не выходит за рамки дозволенного правилами и вежливости.
Надеюсь модератор меня поймет. Это совсем не флейм, если я написал бы в другой (разговорный) топик данного форума - это был бы настоящий флейм и должной "отдачи" он бы не нашел. А именно я имел ввиду то, что происходило в течении двух дней в данной категории и хотел дать полный и развернутый ответ всем тем, кто был в чем-то несогласен с моим мировоззрением, не в обиду никому, не в оскорбление - вы по-своему правы. Спасибо.
PM MAIL WWW ICQ Skype Jabber   Вверх
Zmiuko
Дата 7.3.2010, 00:38 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



В случае со своим скриптом я искал возможность обойти стороной и куки и сессии, найти полезное решение. На этом форуме, похожее писали, как Ипатьев (не в обиду) "Не использовать GD никак не получиться в формировании капчи", но все же я написал скрипт формирования картинки с шрифтом и прочем без ее использования. Вопрос о применимости? Ответ простой - использование скрипта не бесплатных хостингах, отличающихся своей убогостью, не в силу  несостоятельности, а в силу предлагаемых ресурсов, хостер сам не виноват ни в чем - он и так добро делает - hut.ru два-три года назад яркий тому пример - гениальность моя, как заметил Ипатьев, тут не причем - намеков не было, обиды никакой, непосредственности ноль - я просто делал свою работу и решил определенную задачу. Тоже самое с потоковым видео - сторонние программы, модули и прочее - разрешил ситуацию полностью, как не странно реализовав ее посредством стандарта php. Оригинальность тут не причем - просто даже я уже опустил руки - вкралась в голову идея,  организовал. Ничего сверхъестественного не создали. Если кому интересно - восстановлю скрипты- покажу, все достаточно убого, просто при становлении задачи с определенной обстановкой играет роль не столько возможности сколько целеустремленность - это сможет каждый. Сейчас я пытаюсь реализовать сессии без кук и без самих сессий.
Если мы рассмотрим вконтаке - знаменитый ресурс - да! он использует куки, это правильно. Но, у него нет sql базы как считалось и считается до сих пор, на то есть определенные знания в результате анализа и произведенных взломов (ничего деструктивного) проведенных мной - все содержится в совершенно иной архитектуре. на мой взгляд самой совершенной. Для масштабнных проектов, конечно. Но если посмотреть вглубь, допустим реализовать подключение посредством php и сокетов, то мы увидим, что любая ссылка в нем уникальна, будь то музыка или видео - имею виду то что там производиться проверка не сессий, а именно ip - хотя по идее ip не правильно считать за уникальный индетификатор. Поэтому я и озадачился даным скриптом и данной идеей. Помошь в следущем - сформировать уникальный индетификатор без кук и сессий.
PM MAIL WWW ICQ Skype Jabber   Вверх
gcc
Дата 7.3.2010, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: -1
Всего: 17



как вариант http://ru.wikipedia.org/wiki/REST
http://en.wikipedia.org/wiki/Representational_State_Transfer



меня приколола вот эта девка







Это сообщение отредактировал(а) gcc - 7.3.2010, 12:23
PM WWW ICQ Skype GTalk Jabber   Вверх
Ипатьев
Дата 7.3.2010, 01:12 (ссылка) |   (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Ну вот, наконец я получил ответ на свой вопрос.
Почему нельзя было сразу на него ответить, и сразу же получить разъяснения свого заблуждения - загадка. 

Цитата(Zmiuko @  7.3.2010,  00:07 Найти цитируемый пост)
Да, я не соглашаюсь с вами, что предложенные мною коды, вопросы, идеи не соответствует сегодняшним принципам, идейности, 

Вот она, ключевая фраза всего текста. 
не "идейности" вопросы не соответствуют. а объективным законам. 
это как изобретение вечного двигателя.  все изобретатели вечного двигателя говорят теми же самыми словами, что мы прочли двумя постами выше. отсюда и сравнение с шарлатанством.

Чтобы писать собственный механизм сессий, можно не знать стандартный. Но нужно знать принцыпы, на которых сессия может работать вообще. Протокол НТТР. Что в нем передается, что не передается, а если передается - то каким образом. Браузер клиента работает по протоколу НТТР. Наши серверы работают по тому же протоколу. Это объективная реальность, это закон, сродни физическому. Это не "идейность". И не "реализация". Это факт, с которым надо считаться. 
Попытка написать собственный механизм сессий, не понимая протокола НТТР обречена на провал и на посмешище. 
Идея не использовать передачу идентификатора сессии средствами протокола - это не поиск нового. Это невежество. Новое можно искать, только если хорошо подкован теоретически. Это как в физике. Нельзя решить сложную физическую задачу, не зная физику. А если знаний нету - начинаются торсионные поля, наноочистка радиоактивных отходов и вечный двигатель. 

Никто не против поисков новых решений.
Но нужно различать новаторство и невежество.
И не нужно прикрывать свое невежество правильными словами про поиск нового. 

Надеюсь, эти общие замечания не будут сочтены переходом на личности. 
PM MAIL   Вверх
Zmiuko
Дата 7.3.2010, 01:41 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Цитата(Ипатьев @  7.3.2010,  01:12 Найти цитируемый пост)
Надеюсь, эти общие замечания не будут сочтены переходом на личности.  

Да нет, если только я не соглашусь с невежеством. И все таки: какой ты вредный smile

PM MAIL WWW ICQ Skype Jabber   Вверх
Ипатьев
Дата 7.3.2010, 01:48 (ссылка) |   (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Да при чем здесь вредность. Может, где-то и вредный, но только не сейчас. 
Я тупо отвечаю на принципиальные, ключевые положения написанных выше текстов.
Показываю, где в них логические неувязки.

С сессиями понятно? Что в принципе идентификатор передавать можно в любом НТТР заголовке, но смысл имеет только либо в реквесте, либо в куках, либо в теле поста, если он есть? 
PM MAIL   Вверх
Zmiuko
Дата 7.3.2010, 01:59 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Да это я понимаю, просто пытаюсь как раз отшагнуть, ну коль если получиться. На мой взгляд лучше было использовать MAC адрес, ну а что если пользователь не может использовать полноценно консоль - значит выбрасывается.

Я ищу оптимальное решение. В теории все понятно, теория давно и лаконична обоснованна. 

Вот если бы ip был уникален - я бы не искал отходных путей.

Мне необходимо отказаться от http идентификаторов и кук. 

С сессиями понятно тем более (я про стандарт предложенный php).

А ты все таки вредный ))))))))

PS: если задача изначальна глупа и тем более нереализуема - я действительно от нее отступлюсь в сторону кук, сессий, идентификаторов (здравый смысл все таки присутствует). Как правильно заметил - тут тоже дело принципа.
PM MAIL WWW ICQ Skype Jabber   Вверх
Ипатьев
Дата 7.3.2010, 02:11 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Цитата(Zmiuko @  7.3.2010,  01:59 Найти цитируемый пост)
Я ищу оптимальное решение. 

Вы путаете понятия оптимальный и оригинальный.
С точки зрения здравого смысла, если повсеместно применяется та или иная технология, то, скорее всего, именно она и является оптимальной. 

В случае с сессиями найти даже оригинальное решение будет сложновато. Хотя, если постараться, то можно, конечно. Скажем, МАС адрес будет работать в пределах одной локальной сети. Практического смысла в этом ноль, но зато оригинальность на высоте. 

Но лично я бы, вместо стремления к оригинальности любой ценой, лучше бы почитал книжку по основам сетевых пртоколов. Пользы было бы в миллион раз больше.  
PM MAIL   Вверх
NLspieler
Дата 7.3.2010, 05:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 619
Регистрация: 13.10.2008
Где: Берлин

Репутация: 16
Всего: 19



А зачем создавать свой механизм сессий / дополнять существующий?

Я вижу следующие возможные причины:
- возможно поднять безопасность (или уменьшить - это от криворукости зависит)
- заставить сессии работать даже тогда, когда выключены куки (передавать индентификатор сессии через GET + IP и userAgent для проверки) 

Но пожалуй, ради 0,001% пользователей с выключенными куками и ради сомнительного плюса в безопасности разрабатывать свой механизм не стоит. Могу и ошибатся. 


PM MAIL   Вверх
Fortop
Дата 7.3.2010, 07:37 (ссылка)  | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



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

Цитата(Zmiuko @  7.3.2010,  00:59 Найти цитируемый пост)
Мне необходимо отказаться от http идентификаторов и кук. 

Зачем?
Чем вызвана данная необходимость?

Цитата(NLspieler @  7.3.2010,  04:34 Найти цитируемый пост)
- заставить сессии работать даже тогда, когда выключены куки

Вы не поверите, но сессии таки работают с выключенными куками, во всяком случае с настройками в php.ini по-умолчанию.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Ипатьев
Дата 7.3.2010, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



NLspieler, пользователей выключенными куками далеко не 0,001%
другое дело, автору и передача по ссылке тоже не подходит - он об этом не раз писал.
PM MAIL   Вверх
Zmiuko
Дата 7.3.2010, 11:03 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Цитата(Ипатьев @  7.3.2010,  02:11 Найти цитируемый пост)
Но лично я бы, вместо стремления к оригинальности любой ценой, лучше бы почитал книжку по основам сетевых пртоколов.


Полагаю разбор сетевых протоколов мало чем сможет тут помочь.

Цитата(Fortop @  7.3.2010,  07:37 Найти цитируемый пост)
Вы не поверите, но сессии таки работают с выключенными куками, во всяком случае с настройками в php.ini по-умолчанию. 


Верю smile


Цитата(Fortop @  7.3.2010,  07:37 Найти цитируемый пост)
Зачем?
Чем вызвана данная необходимость?


Попытаться отшагнуть от кук и самих сессий в целом.

Извиняюсь, но в php не застал того времени, когда вместо кук использовали get-идентификатор, сейчас подобных решений вообще практически нет. Кто-нить может подкинуть по этому способу какую-либо информацию? Вообще ваще мнение относительно GET - много минусов?
PM MAIL WWW ICQ Skype Jabber   Вверх
Ипатьев
Дата 7.3.2010, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Цитата

Полагаю разбор сетевых протоколов мало чем сможет тут помочь.

ну вот опять. не знаем, но предполагаем.
ну как не сможет помочь, если там написано, то мак адрес за пределы роутера не высовывается? 
Цитата(Zmiuko @  7.3.2010,  11:03 Найти цитируемый пост)
Извиняюсь, но в php не застал того времени, когда вместо кук использовали get-идентификатор,

ничего, все еще можно наверстать.
например, отключить куки в браузере и зайти на этот форум. а так же на много других. 
или почитать документацию
оказывается, наши представления о былых временах не совсем соответствуют действительности. а мы уже на основании своих представлений настроили кучу теорий smile
PM MAIL   Вверх
Zmiuko
Дата 7.3.2010, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Я имел ввиду не SID, который при отключенных куках падает в конец каждого url и тем самым, используется конечно, но приводит к разного рода неприятностям. Я про get-идентификатор при отказе от сессий.
PM MAIL WWW ICQ Skype Jabber   Вверх
Ипатьев
Дата 7.3.2010, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



не понял. а в чем разница? 
PM MAIL   Вверх
Zmiuko
  Дата 7.3.2010, 12:00 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


http://zmiuko.ru
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 8.10.2008

Репутация: 2
Всего: 2



Пришел к такому решению: формировать запись в базе на определенное фиксированное время пять минут - пятнадцать - час, по uniqid()  формировать уникальное число с привязанным к нему и захешированным ip в связке с HTTP_CONNECTION и HTTP_USER_AGENT, потом ко всем ссылкам прибавлять сформированное уникальное число и потом его сравнивать. Также +/- использование кук. В целом с задачей справился, считаю вопрос решенным. Спасибо за терпение. smile
PM MAIL WWW ICQ Skype Jabber   Вверх
Fortop
Дата 7.3.2010, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(Zmiuko @  7.3.2010,  10:03 Найти цитируемый пост)
Попытаться отшагнуть от кук и самих сессий в целом.

Вот чтобы не заниматься ерундой, стоит такие почитать книжки и протоколах.
Хотя бы о HTTP, который stateless и именно поэтому ему нужны сессии.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
NLspieler
Дата 7.3.2010, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 619
Регистрация: 13.10.2008
Где: Берлин

Репутация: 16
Всего: 19



Цитата(Ипатьев @  7.3.2010,  09:16 Найти цитируемый пост)
NLspieler, пользователей выключенными куками далеко не 0,001%

И сколько же их тогда, где можно посмотреть статистику?

Выключать javascript имеет реальный смысл - это позволяет бороться со всплывающими банерами, не желательными редиректами и другой javascript-ересью. 

Но вот зачем отключать куки, понять не могу. 
 
Цитата

Вы не поверите, но сессии таки работают с выключенными куками, во всяком случае с настройками в php.ini по-умолчанию.


Даже и не подозревал.
Правда механизм не совсем понятен, 
нужно ли что то делать с ссылками в php - коде / шаблоне, что бы они были с get-идентификаторами? Нужно ли самому добавлять к ним идентификатор или пропускать через специальные функции?
PM MAIL   Вверх
Fortop
Дата 8.3.2010, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(NLspieler @  7.3.2010,  20:50 Найти цитируемый пост)
нужно ли что то делать с ссылками в php - коде / шаблоне, что бы они были с get-идентификаторами? Нужно ли самому добавлять к ним идентификатор или пропускать через специальные функции? 

Цитата(php.ini)

; The URL rewriter will look for URLs in a defined set of HTML tags.
; form/fieldset are special; if you include them here, the rewriter will
; add a hidden <input> field with the info which is otherwise appended  
; to URLs.  If you want XHTML conformity, remove the form entry.        
; Note that all valid entries require a "=", even if no value follows.  
; Default Value: "a=href,area=href,frame=src,form=,fieldset="           
; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" 
http://php.net/url-rewriter.tags                                        
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1723 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.