Страница 1 из 1

Публичный .tcl

СообщениеДобавлено: 06 сен 2010 06:11
Spoofing
Если вы когда-либо сталкивались с различными сайтами CMS, то чаще всего реализация шаблонов там делается с поддержкой самого языка php, основываясь на том, что "больше чем умеет сам php - ты не сделаешь".

Отсюда пришла идея сделать аналогичное в IRC. Если не переделывать коордиально синтаксис команд в IRC, делая подобие командой строки linux с возможностью выполнения нескольких команд и/или bash-скриптов (в нашем случае выступает tcl), то хотя бы сделать частичную поддержку интерпретируемых строк из IRC.

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

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

[offtop]В mIRC синтаксис до жути простой, что отключение функций делается одним replace'ом и существует всего несколько небезопасных функций. И все довольны, позволяя пользователю самому _как угодно_ управлять выводом RSS лент.[/offtop]

Re: Публичный .tcl

СообщениеДобавлено: 07 сен 2010 00:31
tvrsh
Посмотри скрипт tcldebug.tcl.

Re: Публичный .tcl

СообщениеДобавлено: 09 сен 2010 06:11
tvrsh
Кстати, это абсолютно несекурная затея. Ладно, если ты запретишь использовать такие команды как die, restart, jump, и т.д., но ведь юзеры смогут просмотреть юзерфайл с флагами и хостами, ну или банально подвесить циклом бота, после чего он улетит с пинг таймаутом. Или вообще пароли от шелла утащить. При желании можно много способов напакостить придумать.
Так что не зря там стоит бинд только на владельца.