Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Генерация ключа для сообщения 
:(
    Опции темы
Gregoryy
Дата 27.1.2008, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я пишу свой форум. И мне надо для каждого сообщения, которое создает пользователь генерировать клочь. Если точнее его надо генерировать тогда когда пользователь создает тему или отвечает. Это нужно чтобы, когда пользователь загружает файлы вовремя создание ответа или новой теми показывались только те файлы, которые он загружает для этой темы. 
PM MAIL ICQ   Вверх
Mymik
Дата 27.1.2008, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

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



А под этим ключем впоследствии и сообщение вставляется в СУБД ???
Мне кажется, что в данном случаи лучше использовать SessionState для хранения файлов пришедших от пользователя... 


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
Gregoryy
Дата 28.1.2008, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Mymik @ 27.1.2008,  15:08)
А под этим ключем впоследствии и сообщение вставляется в СУБД ???
Мне кажется, что в данном случаи лучше использовать SessionState для хранения файлов пришедших от пользователя...

Нет, в сообщение не будет. Мне нужен этот ключ чтобы можно было распознать только файлы. Идею взял у IPB форума но так и не нашел как там генерируется этот ключ. Я, конечно, тоже сначала подумал насчет использование ID сессии, но отпало, так как сессия долго живет у меня. Потом подумал создавать MD5 хеш с даты + имени пользователя, который загружает файл. Но друг отговорил, чтобы я это не делал, что может совпасть такой хеш. Вот как я это вижу. Когда пользователь нажимает кнопку ответа или создание новой темы я генерирую ключ, потом этот ключ я добавляю в сессию и храню ее там пока пользователь не отправить пост. 
PM MAIL ICQ   Вверх
Mymik
Дата 28.1.2008, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

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



Я не предлагал тебе использоваться SessionID, я тебе предлагал использоваться SessionState smile (это переменный уровня Сессии или переменный хранимые в Сессии). Когда пользователь отправил файлы на сервер, ты принимаешь эти файлы и кладешь их в сессию. Как только пользователь отправил ответ, ты записываешь все эти данных в СУБД и потом убиваешь ключ в Сессии, в котором хранятся файлы.
Но при таком раскладе, если пользователь нажимает ответить сразу на двух окнах, то файлы могут смешиваться, что есть очень плохо.

Цитата(Gregoryy @  28.1.2008,  01:11 Найти цитируемый пост)
Потом подумал создавать MD5 хеш с даты + имени пользователя, который загружает файл. Но друг отговорил, чтобы я это не делал, что может совпасть такой хеш.

В данном случаи тебе MD5 вообще не нужен: 1) очень долго работает по сравнению с base64 2) Могут быть коллизии (хотя очень маловероятные, очень-очень маловероятные smile ).
Возьми лучше строчку даты в секунда зашифрованную Base64 + Username

Но smile есть еще один большой вопрос. А для чего ты это собственно делаешь ???
Я к тому, что. Может быть лучше не разрешать пользователю делать предзагрузку фалов, ибо нах ??? Гораздо лучше делать загрузку файлов при нажатии на кнопку "Предпросмотр сообщения" или "Отправить сообщение" (ну и все их разновидности). А когда ты нажал на эти кнопки, то в таблице, которая хранит ответы пользователей. Ставить флажок типа "Предпросмотр" или "Видим для всех". Но в принципе, там можно еще подумать и поразмышлять на эту тему.
Просто зачем генерировать два раза ключ smile (в базе и на клиенте).


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
Gregoryy
Дата 28.1.2008, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Дело в том, что я для форума использую визуальный редактор. Из-за этого и приходиться пред загрузку делать. 
PM MAIL ICQ   Вверх
Mymik
Дата 28.1.2008, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

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



Gregoryy, ну смотри. я все так же предлагаю свой вариант с ключами хранимыми в сесии smile
Файлы записывать на сервер в виду 
filename_DateTimeInSeconds
А в сесии хранить ключи вида
filename_PostUniqueID
Т.е. когда пользователь нажимает "ответить" в ветке, то ты берешь ID этой ветки что и будет PostUniqueID а когда пользователь нажимат на создать тему... Хм. Тут я думаю надо писать PostUniqueID  как "-1", но если нажать сразу несколько "создать тему"... Ну я думаю там надо будет немного подумать по поводу генераций этих PostUniqueID и записи их в HiddenField или еще куда-нибудь.


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

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


 




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


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

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