Я использую хороший редактор для редактора в своем проекте, и публичный пользователь может использовать редактор для вменения своих данных. Здесь на стороне сервера, я принимаю значение и после печати в поле зрения также.
Поэтому я боюсь вопросов безопасности, и не могли бы вы объяснить, в какой области следует соблюдать осторожность? Мой код приведен ниже:
контроллер:
$desc = $this->input->post('desc', TRUE);
Посмотреть:
echo $desc;
В целом, вы в безопасности, когда используете класс безопасности включенного CI. Просто убедитесь, что вы используете флаг ИСТИНА на каждом вводе-> посте, который вы делаете, или вы включили фильтрацию XSS в вашем конфигурационном файле. $config['global_xss_filtering'] = TRUE;
Взято из документации КИ:
CodeIgniter поставляется с фильтром предотвращения взлома межсайтовых сценариев
который может запускаться автоматически для фильтрации всех данных POST и COOKIE
что встречается, или вы можете запустить его на основе каждого элемента. По умолчанию
он не работает глобально, так как требует немного обработки
накладные расходы, и так как вам может понадобиться не во всех случаях.Фильтр XSS ищет часто используемые методы для запуска
Javascript или другие типы кода, которые пытаются захватить куки или делают
другие злые вещи. Если что-то запрещено, это
сделать безопасным путем преобразования данных в символьные объекты.
Для дополнительной защиты от подделки межсайтовых запросов (CSRF) вы также можете включить защиту CSRF от CI. Это обеспечит ваши HTML-формы (когда вы используете form_open()
) с дополнительным входом с токеном для защиты в вашем приложении.
Конечно, вы никогда не должны доверять пользовательскому вводу, и вы можете захотеть использовать другой уровень безопасности на ваших входах в зависимости от использования вашего приложения. Вы можете попробовать использовать htmlentities () просто для большей уверенности в том, что никакой вредоносный javascript не будет сохранен в вашей базе данных или показан вашим посетителям.
Других решений пока нет …