Зашифрование и расшифровывать HTML стороны клиента

Прыгните вступление и пойдите прямо к инструменту шифратора и дешифратора HTML!

Одна из вещей которые я считал странной о яваскрипте свое отсутсвие встроенных функций для того чтобы отрегулировать зашифрование и расшифровывать HTML. Большинств языки стороны сервера имеют эту функциональность построенную в их но яваскрипт имеет избежание, encodeURIComponent, encodeURI, unescape, decodeURIComponent и функции decodeURI которые направлены на делать шнуруют портативную машинку и для шифровать параметры URIs и URI но там никакая функция для зашифрования HTML.

Теперь вы можете думать что наилучшим образом нет много требования для яваскрипта HTMLEncode и функция HTMLDecode как любое текстуальное содержание которому нужно зашифрование должно быть сделанной сервер-стороной прежде чем страница HTML представлена и мной согласилось с вами не длиной тому назад. Однако я начинал работать больше и больше с AJAX и специально питания RSS и другое содержание стороны клиента поставленное как APIs и я Googles AJAX находили больше и больше потребность reformat содержание поставленное от внешних источников специально зашифрованием HTML или расшифровывая содержимой стороной клиента используя яваскрипт.

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

Мой предмет шифратора

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

Несколько полезных функций внутри предмет который я конспектирую здесь:

  • HTML2Numerical: Реальности HTML новообращенных к их численным эквивалентам.
  • NumericalToHTML: Преобразовывает численные реальности к их эквивалентам HTML.
  • numEncode: Численно шифрует характеры unicode.
  • htmlDecode: Расшифровывает текст зашифрованный HTML к своему первоначально положению.
  • htmlEncode: Шифрует HTML к или реальностям численных или HTML. Это определено свойством EncodeType.
  • XSSEncode: Шифрует основные характеры используемые в нападениях XSS к HTML malform.
  • correctEncoding: Исправляет все двойные зашифрованные амперсанды.
  • stripUnicode: Извлекает все характеры unicode.
  • hasEncoded: Возвращает истинное если шнур содержит реальности зашифрованные HTML внутри он.
// пример использования HTML шифрует предмет

// установило тип шифровать к численным реальностям например & вместо &
Encoder.EncodeType = "numerical";

// или установить его для того чтобы зашифровать к реальностям HTML например & вместо &

Encoder.EncodeType = "entity";

// HTML шифрует текст от элемента входного сигнала
// это предотвратит двойное зашифрование.
var encoded = Encoder.htmlEncode(document.getElementById('input'));

// для того чтобы зашифровать но позволить двойное зашифрование которое значит любые существующие реальности как
//& преобразует к &
var dblEncoded = Encoder.htmlEncode(document.getElementById('input'),true);

// расшифровывает текст зашифрованный now
var decoded = Encoder.htmlDecode(encoded);

// Проверка содержит ли текст все еще реальности HTML/Numerical
var containsEncoded = Encoder.hasEncoded(decoded);

Шифратор и дешифратор HTML

Я не выполнял коробка обязательство входа с некоторым содержанием примера и после этого зашифровано ему и после этого расшифровано результату доказать расшифровывать работает. Извещение i использовало стандартные характеры < > & «также, как текст UTF-8 (я не имею никакую идею чего арабськое говорит) и некоторые уже зашифрованные реальности для того чтобы доказать что уже зашифрованное что-нибыдь не получит двойное зашифровано. Очевидно если вы не помните о двойных зашифровании тогда звоноке Encoder.html, то зашифруйте (значение, истинные) при второй параметр установленный для того чтобы true или если вы используете мою форму для вашего собственного зашифрования, то убеждайтесь что checkbox тикан.

Комментарии столба

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