“Безопасный” процессор скидки с цены для PHP?

Xcode 5 и выше

  • Щелкните свой проект в Навигаторе проектов на левой боковой панели, чтобы открыть настройки проекта
  • Перейдите на вкладку Общие .
  • Снимите флажки с ненужных опций в разделе Информация о развертывании в разделе Ориентация устройства

screenshot showing where to click

.
36
задан dbr 16 January 2010 в 16:33
поделиться

4 ответа

PHP Markdown имеет параметр очистки, но, похоже, он нигде не рекламируется. Взгляните на верхнюю часть класса Markdown_Parser в markdown.php (начинается со строки 191 в версии 1.0.1m). Нас интересуют строки 209-211:

# Change to `true` to disallow markup or entities.
var $no_markup = false;
var $no_entities = false;

Если вы измените их на true , разметка и сущности, соответственно, должны быть экранированы, а не вставлены дословно. Похоже, что нет никакого встроенного способа изменить их (например, через конструктор), но вы всегда можете добавить его:

function do_markdown($text, $safe=false) {
    $parser = new Markdown_Parser;
    if ($safe) {
        $parser->no_markup = true;
        $parser->no_entities = true;
    }
    return $parser->transform($text);
}

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

27
ответ дан 27 November 2019 в 06:16
поделиться

Гипотеза редактора разметки JavaScript:

  • Используйте редактор разметки на основе JavaScript, например, на основе вскрытия
  • Удалите все значки и визуальные подсказки с панели инструментов для нежелательных элементов
  • Установить установите фильтр JavaScript для очистки нежелательной разметки при отправке
  • Протестируйте и закрепите все изменения и фильтры JavaScript локально на своем компьютере
  • Зеркально отразите эти фильтры в сценарии отправки PHP, чтобы отловить то же самое на стороне сервера.
  • ] Удалите все ссылки на нежелательные элементы из справки / руководств

Я создал редактор Markdown в JavaScript, но он имеет расширенные функции. Это заняло много времени и исправлений SVN. Но я не думаю, что будет так сложно изменить редактор Markdown, чтобы ограничить допустимый HTML.

2
ответ дан 27 November 2019 в 06:16
поделиться

If you're looking to write your own parser, why not use the BBCode architecture.

When submitting your/(user) comments you need to sanitize the text with mysql_escape_real_string(), yes there other functions but this will stop any JS Injections.

-1
ответ дан 27 November 2019 в 06:16
поделиться

Как насчет запуска HTMLspecialChars на введенном пользователе введенный ввод, перед обработкой его посредством Markdown? Это должно избежать чего-либо опасного, но покидают все, что понимает урок.

Я пытаюсь подумать о том случае, когда это не будет работать, но не может думать ни о чем от руки.

-1
ответ дан 27 November 2019 в 06:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: