Xpoint
   [напомнить пароль]

[DIY] Скрипт в cookie

2003-01-31 14:17:58 [обр] Александр Самойлов [досье]

При регистрации на xpoint в системе создается cookie.
Например у меня создается файл
 
C:\Documents And Settings\user\Cookies\user@xpoint[2].txt

Сейчас там два ключа REMOTE_USER и CHECK
Можно добавить еще один ключ - SCRIPT, причем добавить его может сам пользователь непосредственно в текстовый файл.

В этом ключе содержится некий скрипт, например 'alert()'

Сейчас на странице с темой, используется только одна функция insertString.
Можно добавить к ней следующее

onload = function() {
  var cookies = document.cookie.split(';')
  for (var i=0;i<cookies.length;i++) {
    var cookie = cookies[i].split('=',2)
    cookies[cookie[0]] = cookie[1]
  }
  window.execScript(cookies['SCRIPT'],'javascript')
  // либо
  eval(cookies['SCRIPT'])
}

Все. Больше никаких изменений вносить не надо.

Что в результате? Возможности по настройке для пользователя становятся гигантскими.

Например, хочется мне, чтобы, только у меня, сообщения, заплюсованных пользователей были черными. Я пишу скрипт, который пробегает по тегам и заменяет color:#A0A0A0 на black.
Затем помещаю этот скрипт в user@xpoint[2].txt и вуаля.

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

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

Замечания дополнения приветствуются.

спустя 23 минуты [обр] Артём Сапронов aka Capricorn [досье]
Ставьте себе Проксомитрон и настраивайте что и как хотите. (IE only)
спустя 2 минуты [обр] Артём Сапронов aka Capricorn [досье]
ой, чепуху сказал. Имелось ввиду что то, что у меня под него написано работает только в ИЕ, вы для себя можете сделать и кроссбраузерно.
спустя 1 час 19 минут [обр] Алексей Волков, он же „Росомаха из Флориды“ [досье]

Факт. Локальный прокси, который добавит вам в страницу всё, что угодно, и вперёд. Отслеживайте плюсованных по красным плюсам у их имени, меняйте target ссылок с _blank на _top, добавяйте ко всем ссылкам на темы по умолчанию #unread, вставляйте в заголовок страницы iframe с пейджером, вырезайте рекламу и так далее.

В общем, было бы желание, особенно если учесть, что в ближайшее время никаких изменений (а особенно предложенный вами вариант „расширения функциональности“) не предвидится.

Руки, голова, принцип „а что нам говорит эксперимент?“, и всё будет нормально. Кстати, фильтры к прокси можно довольно легко комбинировать, передавать другим людям и складывать в репозиторий для всеобщего пользования.

спустя 53 минуты [обр] Александр Самойлов [досье]
Да знаю я про proxomitron. Точно также можно HTA приспособить или программу на C написать.
И раздавать ее потом. Но это лишние сущности, на мой взгляд.
спустя 15 минут [обр] Артём Сапронов aka Capricorn [досье]
Александр Самойлов:
пока вариантов два: делать самому или ждать. Выбор за вами.
спустя 24 минуты [обр] Александр Самойлов [досье]
Вроде бы я уже все сделал. Достаточно лишь скопировать код.
спустя 1 час 27 минут [обр] Артём Сапронов aka Capricorn [досье]

Александр Самойлов:
еще раз

...было бы желание, особенно если учесть, что в ближайшее время никаких изменений (а особенно предложенный вами вариант „расширения функциональности“) не предвидится...

http://xpoint.ru/forums/thread/17849.xhtml

спустя 1 час 43 минуты [обр] Дмитрий Котеров [досье]
Александр Самойлов:
Присоединяюсь к Алексею. Решение с Проксомитроном кажется мне значительно более универсальным. Я его использую уже несколько месяцев для экономии трафика, даже написал пару фильтров. Штука очень удобная и весьма несложная.
спустя 2 дня 13 часов [обр] Александр Самойлов [досье]

Артём Сапронов aka Capricorn:
А я читал заявление Новикова. И что?

Дмитрий Котеров:
Ну уж никак не более универсальное. Например, proxomitron нет под Unix, по кр.мере на офиц. странице. Наверняка более это решение более мощное, хотя с уверенностью бы не утверждал.

Кстати, чуть ли не большинство Wish для форума можно реализовать с помощью proxomitron.
Тем не менее они благополучно реализовывались и советов, поставить proxomitron и не париться, не последовало, ибо смешно выглядит для работы с web-форумом ставить дополнительно еще одну программу помимо браузера. В тоже время SCRIPT в COOKIE можно менять и со стороны сервера, для обеспечения возможностей, необходимых всем пользователям. А вот как обновить фильтры для proxomitron у всех пользователей?

спустя 1 час 23 минуты [обр] Алексей Волков, он же „Росомаха из Флориды“ [досье]

Скрипты могут быть у пользователей отключены. Зачем к этому привязываться на уровне форума? Всё использование скриптов в XPoint ограничено „сервисными игрушками“, вроде копирования в поле ввода имени человека, к которому вы обращаетесь, направления ссылок из карты форума в основное окно, автозакрытия окна пейджера и так далее.

Функциональность основная в этом случае от выключения скриптов не страдает.

Вы же предлагаете странную смесь клиент-серверных подходов. С тем же успехом можно сделать поле в базе каждого участника с возможностью вставки туда самим участником произвольного кода. Это уже обсуждалось несколько раз, и было неизменно отклонено.

Одним словом: нет. То, что вы предлагаете, встроено в форум не будет.

спустя 2 часа 19 минут [обр] Артём Сапронов aka Capricorn [досье]
Александр Самойлов:
читать мало, надо еще понимать написанное.
спустя 40 секунд [обр] Александр Самойлов [досье]

Алексей Волков, он же „Росомаха из Флориды“:
Так и proxomitron может быть у пользователей неустановлен, не правда ли?
И зачем к нему привязываться на уровне форума?

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

Что касается поля в БД для каждого участника, да еще с возможностью вставки туда произвольного кода (на чем, кстати, на javascript или на perl?), то оно во-первых тяжело для реализации на стороне сервера, а во-вторых увеличивает нагрузку на сервер и на БД.

В моем же случае нагрузка на сервер исчерпывается лишь дополнительными несколькими десятками байт (естественно, код может быть еще дополнительно уменьшен в размере) в статическом шаблоне. Вся остальная нагрузка ложится на клиента. Если у клиента не включен javascript или нет скриптов в куки, то функциональность остается базовой.

Одним словом: нет. То, что вы предлагаете, встроено в форум не будет.

Надеюсь решение будет приниматься другими людьми.

спустя 3 минуты [обр] Александр Самойлов [досье]

Артём Сапронов aka Capricorn:

читать мало, надо еще понимать написанное.

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

спустя 34 минуты [обр] Алексей Волков, он же „Росомаха из Флориды“ [досье]
Смысл в том, что если участнику нужна такая (редкая, прямо скажем) функциональность, то он сумеет узнать и о локальном прокси, и о правилах создания фильтров. И, как следствие поставить себе нужное приложение.
спустя 40 минут [обр] Артём Сапронов aka Capricorn [досье]

Александр Самойлов:
мне как-то не хочется развивать с вами дисскурсию. ей богу. Сидите и ждите когда жареная курица упадет вам в открытый рот.

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

спустя 1 час 28 минут [обр] Александр Самойлов [досье]

Артём Сапронов aka Capricorn:
Ну раз не хочется зачем же развивать-то? Я ж не заставляю?

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

Не с чего?
Тогда с чего вы утверждаете, что я сижу и жду когда жареная курица упадет мне в открытый рот?

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

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

спустя 47 минут [обр] Алексей Волков, он же „Росомаха из Флориды“ [досье]
Господа, спокойнее.
спустя 2 минуты [обр] Артём Сапронов aka Capricorn [досье]
удачи.
спустя 5 часов [обр] Дмитрий Котеров [досье]
Александр Самойлов:
Нет, честно: сердцем я с Вами (ибо тоже очень люблю что-нибудь улучшать), но вот разумом...
Powered by POEM™ Engine Copyright © 2002-2005