Есть поле textarea. В это поле юзер может вставлять любые данные. Предполагается что будет вставлять валидный js код.
Это все отправляется на сервер и пишется в бд. Используется active record, там все само экранируется. Я вставляю данные в бд как есть.
Если нужно отредактировать эти данные, мы получаем от сервера JSON, обратите внимание на свойство "params" оно так же содержит JSON строку (не спрашивайте почему так)
{
"error": 0,
"data": {
"status": "1",
"params": "{\"third_party_status\":\"false\",\"third_party_code\":\"<script type=\\\"text\\\/javascript\\\">\\n\\talert('Test');\\t\\t\\t\\t\\n<\\\/script>\\n\"}",
"created_at": "2018-07-28 18:11:03",
"updated_at": "2018-07-28 18:28:25"
}
}
Вроде как все заэкранировано? Теперь мне нужно вставить полученый js код снова в textarea.
// очень упрощенно
var data = JSON.parse(response);
var params = JSON.parse(data.params);
// это я вставляю в textarea
params.third_party_code
Вопрос: есть ли здесь потенциальная уязвимость?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Приветсвую всех, есть web-приложение построенное на Vue + FirebaseВопрос заключается в том, как происходит автоматический вход в приложение после...
Данный вопрос уже был задан и имеет решение: