Какие аспекты дизайна и безопасности следует учитывать при разработке букмарклетов? - PullRequest
2 голосов
/ 22 января 2009

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

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

Спасибо!

Редактировать: У меня есть одна политика: букмарклет просто не запустится, если пользователь находится на странице https.

1 Ответ

3 голосов
/ 22 января 2009

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

Edit:

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

(function(){

// your code

})()

Любые переменные и функции, определенные в этом блоке, не будут мешать странице хоста, если вы не окунетесь в глобальные объекты и прототипы, DOM и т. Д. Если вы опубликуете пример, где вам может понадобиться это сделать, мы могли бы помочь с рефакторингом.

...