Kolbaser 33 Опубликовано: 30 ноября 2016 Рассказать Опубликовано: 30 ноября 2016 Как-то всё время пользовался гугловскими картами, а сейчас понадобилось вставить яндесовскую, но их ифрейм отказался отображать карту в полной новости, пришлось вставлять через рекламные материалы, почему такая дискриминация? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 084 Опубликовано: 30 ноября 2016 Рассказать Опубликовано: 30 ноября 2016 Какой код у этого iframe? Цитата Ссылка на сообщение Поделиться на других сайтах
Kolbaser 33 Опубликовано: 30 ноября 2016 Рассказать Опубликовано: 30 ноября 2016 Автор Например, этот <iframe src="https://api-maps.yandex.ru/frame/v1/-/CZDQbFJP" width="560" height="400" frameborder="0"></iframe> Редактор TinyMCE, вставляя ифрейм в исходный код полной новости, карта отображается в визуальном редакторе, но после сохранения, в новости на сайте она не появляется, а открыв редактирование новости видишь, что весь код ифрейма был автоматически вырезан. Цитата Ссылка на сообщение Поделиться на других сайтах
germanydletest 455 Опубликовано: 30 ноября 2016 Рассказать Опубликовано: 30 ноября 2016 9 минут назад, Kolbaser сказал: Например, этот <iframe src="https://api-maps.yandex.ru/frame/v1/-/CZDQbFJP" width="560" height="400" frameborder="0"></iframe> Редактор TinyMCE, вставляя ифрейм в исходный код полной новости, карта отображается в визуальном редакторе, но после сохранения, в новости на сайте она не появляется, а открыв редактирование новости видишь, что весь код ифрейма был автоматически вырезан. Домен maps.google есть в разрешённых, а домена api-maps.yandex нету, добавьте его /engine/classes/parse.class.php и у Вас перестанут выпиливаться данные iframe от яндекса. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 084 Опубликовано: 30 ноября 2016 Рассказать Опубликовано: 30 ноября 2016 Добавим в следующей версии. Цитата Ссылка на сообщение Поделиться на других сайтах
DeeMon 73 Опубликовано: 30 ноября 2016 Рассказать Опубликовано: 30 ноября 2016 Аналогично и с 2Gis Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 084 Опубликовано: 1 декабря 2016 Рассказать Опубликовано: 1 декабря 2016 17 часов назад, DeeMon сказал: Аналогично и с 2Gis Конретезируйте всегда указав конкретный код который вам нужен. Мы не пользуемся всеми сторонними сервисами подряд. Цитата Ссылка на сообщение Поделиться на других сайтах
DeeMon 73 Опубликовано: 2 декабря 2016 Рассказать Опубликовано: 2 декабря 2016 В 01.12.2016 в 14:41, celsoft сказал: Мы не пользуемся всеми сторонними сервисами подряд. Ну сервисов с картами не так уж и много, по сути то- Яндекс Карты, Google Maps, 2Gis. Цитата Ссылка на сообщение Поделиться на других сайтах
Captain 625 Опубликовано: 2 декабря 2016 Рассказать Опубликовано: 2 декабря 2016 (изменено) 32 минуты назад, DeeMon сказал: Ну сервисов с картами не так уж и много, по сути то- Яндекс Карты, Google Maps, 2Gis. Так спросили код, а не существование сервиса: <a class="dg-widget-link" href="http://2gis.ru/moscow/firm/4504127908435201/center/37.61808872222901,55.755798014798096/zoom/16?utm_medium=widget-source&utm_campaign=firmsonmap&utm_source=bigMap">Посмотреть на карте Москвы</a><div class="dg-widget-link"><a href="http://2gis.ru/moscow/firm/4504127908435201/photos/4504127908435201/center/37.61808872222901,55.755798014798096/zoom/17?utm_medium=widget-source&utm_campaign=firmsonmap&utm_source=photos">Фотографии компании</a></div><div class="dg-widget-link"><a href="http://2gis.ru/moscow/center/37.618099,55.755381/zoom/16/routeTab/rsType/bus/to/37.618099,55.755381╎Государственный исторический музей?utm_medium=widget-source&utm_campaign=firmsonmap&utm_source=route">Найти проезд до Государственный исторический музей</a></div><script charset="utf-8" src="http://widgets.2gis.com/js/DGWidgetLoader.js"></script><script charset="utf-8">new DGWidgetLoader({"width":640,"height":600,"borderColor":"#a3a3a3","pos":{"lat":55.755798014798096,"lon":37.61808872222901,"zoom":16},"opt":{"city":"moscow"},"org":[{"id":"4504127908435201"}]});</script><noscript style="color:#c00;font-size:16px;font-weight:bold;">Виджет карты использует JavaScript. Включите его в настройках вашего браузера.</noscript> Там iframe нет вроде. Изменено 2 декабря 2016 пользователем Captain Цитата Ссылка на сообщение Поделиться на других сайтах
SKYNET74 315 Опубликовано: 2 декабря 2016 Рассказать Опубликовано: 2 декабря 2016 1 час назад, Captain сказал: Так спросили код, а не существование сервиса: <a class="dg-widget-link" href="http://2gis.ru/moscow/firm/4504127908435201/center/37.61808872222901,55.755798014798096/zoom/16?utm_medium=widget-source&utm_campaign=firmsonmap&utm_source=bigMap">Посмотреть на карте Москвы</a><div class="dg-widget-link"><a href="http://2gis.ru/moscow/firm/4504127908435201/photos/4504127908435201/center/37.61808872222901,55.755798014798096/zoom/17?utm_medium=widget-source&utm_campaign=firmsonmap&utm_source=photos">Фотографии компании</a></div><div class="dg-widget-link"><a href="http://2gis.ru/moscow/center/37.618099,55.755381/zoom/16/routeTab/rsType/bus/to/37.618099,55.755381╎Государственный исторический музей?utm_medium=widget-source&utm_campaign=firmsonmap&utm_source=route">Найти проезд до Государственный исторический музей</a></div><script charset="utf-8" src="http://widgets.2gis.com/js/DGWidgetLoader.js"></script><script charset="utf-8">new DGWidgetLoader({"width":640,"height":600,"borderColor":"#a3a3a3","pos":{"lat":55.755798014798096,"lon":37.61808872222901,"zoom":16},"opt":{"city":"moscow"},"org":[{"id":"4504127908435201"}]});</script><noscript style="color:#c00;font-size:16px;font-weight:bold;">Виджет карты использует JavaScript. Включите его в настройках вашего браузера.</noscript> Там iframe нет вроде. У 2Gis всё через JS реализовано только. Видать исключение для него делать нужно для тега <script>. 2 Цитата Ссылка на сообщение Поделиться на других сайтах
Captain 625 Опубликовано: 2 декабря 2016 Рассказать Опубликовано: 2 декабря 2016 (изменено) 4 часа назад, SKYNET74 сказал: ...Видать исключение для него делать нужно для тега <script>. Ага, <script> Там ещё есть API и примеры реализации, через шаблоны и доп. поля, походу можно реализовать, без влезания в код двига. Лично я, не пользовался этим сервисом для сайта, за ненадобностью. Тока на смартфоне. Изменено 2 декабря 2016 пользователем Captain Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 084 Опубликовано: 3 декабря 2016 Рассказать Опубликовано: 3 декабря 2016 15 часов назад, SKYNET74 сказал: Видать исключение для него делать нужно для тега <script>. Для JS не может быть исключений. Это язык програмирования. На нем можно и карты вставлять и вирусы писать. Все что угодно можно сделать. Добавление JS напрямую в новости поэтому никогда не будет, т.к. это прямая угроза безопасности. Не бывает безопасных JS. Цитата Ссылка на сообщение Поделиться на других сайтах
SKYNET74 315 Опубликовано: 3 декабря 2016 Рассказать Опубликовано: 3 декабря 2016 19 часов назад, Captain сказал: Ага, <script> Там ещё есть API и примеры реализации, через шаблоны и доп. поля, походу можно реализовать, без влезания в код двига. Лично я, не пользовался этим сервисом для сайта, за ненадобностью. Тока на смартфоне. Если нужно вставить карту прямо промеж текста, то как тут доп.поле поможет? Если JS заранее известен и довольно таки безопасен, то впринципе можно, все мы же пихаем JS от гугла для их адсенса... 8 часов назад, celsoft сказал: Для JS не может быть исключений. Это язык програмирования. На нем можно и карты вставлять и вирусы писать. Все что угодно можно сделать. Добавление JS напрямую в новости поэтому никогда не будет, т.к. это прямая угроза безопасности. Не бывает безопасных JS. Сделать регулярками только маску: <script charset="utf-8" src="http://widgets.2gis.com/js/DGWidgetLoader.js"></script> <script charset="utf-8">new DGWidgetLoader({"width":N1,"height":N2,"borderColor":"N3","pos":{"lat":N4,"lon":N5,"zoom":N6},"opt":{"city":"N7"},"org":[{"id":"N8"}]});</script> Их код вставки же должен иметь свой чётко утверждённый формат. 2gis активно развивается, так что всё таки не возможность вставки его карты прямо в тексте новости таки минус, причём таки приличный. PS: По поводу вычисления размера файла и его md5 на лету вы тоже утверждали что это прямо нужно что бы сразу видеть изменения файлов на сайте, и что менять это не будете ради безопасности, и что мы видим в пресс релизе DLE v11.2 п.29? Вы даже внедряли поиск {md5} что бы снизить нагрузку, но всё таки поняли что это нужно считать в момент загрузки (и может быть поймёте что нужно ещё по cron'у иногда или вручную в админке), но никак не каждый раз при генерации страницы (кеш не учитываем). 1 Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 084 Опубликовано: 3 декабря 2016 Рассказать Опубликовано: 3 декабря 2016 16 минут назад, SKYNET74 сказал: Их код вставки же должен иметь свой чётко утверждённый формат. Не должен и не имеет. Это не код вставки. Это JS код который выполняет определенные действия. Эти же действия и этот код можно написать не одним десятком вариантов, и даже сотней и все в итоге будут выполнять одно и то же. Соответственно любую проверку можно обмануть, если вообще будет такая возможность как вставка JS. Поэтому ее точно никогда не будет, потому как это прямая угроза безопасности сайтам. Тот же тег iframe это тоже угроза безопасности безопасности сайта, но в отличие от JS мы ее можем хотя бы отсечь по домену. И разрешая вставку iframe с определенного домена, нужно определенно понимать, что если например яндекс, гугл или yotube будут распространять вирусы в своих iframe, то вы от этого никак не обезопаситесь и не защититесь, и фильтруется здесь не по коду который в этих iframe, а по доверию к компаниям. Т.е. мы предполагаем что яндекс, гугл или yotube не будут распространять вирусы. Отфильтровать код языка программирования на безопасный и небезопасный невозможно, но можно доверится компании, чтобы ей доверится ей нужно от прямого кода уходить в iframe, и вот когда 2gis перейдет на API с использованием iframe, то тогда и можно будет добавить ее в безопасные и доверительные. Я языки програмирования не могут быть безопасными по определению, иначе бы они не были бы языками программирования. Поэтому в данном вопросе нужно не меня, а 2gis чтобы они уходили от прямого JS на iframe. 27 минут назад, SKYNET74 сказал: PS: По поводу вычисления размера файла и его md5 на лету вы тоже утверждали что это прямо нужно что бы сразу видеть изменения файлов на сайте, и что менять это не будете ради безопасности, и что мы видим в пресс релизе DLE v11.2 п.29? Мое мнение по этому вопросу не изменилось. Но практика показала что людям на это "все равно". Им главное нагрузка. А так как это не несет никакой угрозы непосредственно DLE, а самим владельцам собственно не очень это принципиально, они эти подписи у себя не хранят. Что ж, если людям это не нужно, а прямой угрозы DLE от этого нет никакой, то пожалуйста, мы реализовали. Но что касается JS, тут уже изменений быть не может в принципе, т.к. это прямая угроза сайту, и в DLE в частности. Цитата Ссылка на сообщение Поделиться на других сайтах
SKYNET74 315 Опубликовано: 3 декабря 2016 Рассказать Опубликовано: 3 декабря 2016 16 минут назад, celsoft сказал: Не должен и не имеет. Это не код вставки. Это JS код который выполняет определенные действия. Эти же действия и этот код можно написать не одним десятком вариантов, и даже сотней и все в итоге будут выполнять одно и то же. Соответственно любую проверку можно обмануть, если вообще будет такая возможность как вставка JS. Поэтому ее точно никогда не будет, потому как это прямая угроза безопасности сайтам. Ну сделайте bbкод для 2gis тогда, парсер будет сам строить JS и затем обратно переводить его bbкод. Так сказать дешево и сердито. 17 минут назад, celsoft сказал: Тот же тег iframe это тоже угроза безопасности безопасности сайта, но в отличие от JS мы ее можем хотя бы отсечь по домену. И разрешая вставку iframe с определенного домена, нужно определенно понимать, что если например яндекс, гугл или yotube будут распространять вирусы в своих iframe, то вы от этого никак не обезопаситесь и не защититесь, и фильтруется здесь не по коду который в этих iframe, а по доверию к компаниям. Т.е. мы предполагаем что яндекс, гугл или yotube не будут распространять вирусы. А я говорил разрешать ВСЕ JS? Такой же список определённых заранее известных кодов как и для iframe, ну или как выше писал, bbкод. 19 минут назад, celsoft сказал: Отфильтровать код языка программирования на безопасный и небезопасный невозможно, но можно доверится компании, чтобы ей доверится ей нужно от прямого кода уходить в iframe, и вот когда 2gis перейдет на API с использованием iframe, то тогда и можно будет добавить ее в безопасные и доверительные. Я языки програмирования не могут быть безопасными по определению, иначе бы они не были бы языками программирования. Поэтому в данном вопросе нужно не меня, а 2gis чтобы они уходили от прямого JS на iframe. Я думаю 2gis точно не будут возвращаться к 2000-ым и переводить свои сервисы на iframe... 1 Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 084 Опубликовано: 3 декабря 2016 Рассказать Опубликовано: 3 декабря 2016 1 час назад, SKYNET74 сказал: Я думаю 2gis точно не будут возвращаться к 2000-ым и переводить свои сервисы на iframe... Как раз таки использование JS, это 2000-e а не iframe. Яндекс например тоже раньше сидел только на JS, поэтому его и не было в списке.Сейчас перешел на iframe. 1 час назад, SKYNET74 сказал: А я говорил разрешать ВСЕ JS? Такой же список определённых заранее известных кодов как и для iframe, ну или как выше писал, bbкод. Вы не читаете, что вам пишут. Невозможно в языках програмирования разделить на плохой и хороший код. На то это и язык программирования что в нем существуют миллионы возможностей написания одного и того же в разных вариантах. Языки программирования не поддаются фильтрации. 1 час назад, SKYNET74 сказал: Ну сделайте bbкод для 2gis тогда, парсер будет сам строить JS и затем обратно переводить его bbкод. Зачем BB код? Если вам нужно вставить, то такая возможность у вас есть и сейчас. Создаете доп. поле. В нем пишите только координаты, а все остальное из вашего JS кода задаете в шаблоне. Все. Достаточно просто и безопасно. Что в доп. поле писать координаты, что в BB коде. Нет никакой разницы. Цитата Ссылка на сообщение Поделиться на других сайтах
SKYNET74 315 Опубликовано: 4 декабря 2016 Рассказать Опубликовано: 4 декабря 2016 (изменено) 7 часов назад, celsoft сказал: Вы не читаете, что вам пишут. Невозможно в языках програмирования разделить на плохой и хороший код. На то это и язык программирования что в нем существуют миллионы возможностей написания одного и того же в разных вариантах. Языки программирования не поддаются фильтрации. Фильрование по доменам, неее? По моему вы путаете подгрузку непонятного JS и подгрузку специализированного виджета от проверенного сервиса. Вы же доверяете iframe с "проверенных" сервисов, хотя они тоже много чего не хорошего могут натворить, окажись там вредоносный код, но мы берём в расчёт что такие сервисы туда толкать его не будут, и обеспечат достаточную безопасность для того что бы он там не появился. 7 часов назад, celsoft сказал: Зачем BB код? Если вам нужно вставить, то такая возможность у вас есть и сейчас. Создаете доп. поле. В нем пишите только координаты, а все остальное из вашего JS кода задаете в шаблоне. Все. Достаточно просто и безопасно. Что в доп. поле писать координаты, что в BB коде. Нет никакой разницы. Я вкурсе что так можно сделать, но что делать когда требуется вставить карту например в тексте новости? А что если нужно вставить не одну карту? Куча доп.полей? А если каждую карту нужно ещё и подписать, ещё +1 доп.поле на каждую карту? Править парсер после каждого апдейта и дописывать туда bbкод? Изменено 4 декабря 2016 пользователем SKYNET74 1 Цитата Ссылка на сообщение Поделиться на других сайтах
odys 384 Опубликовано: 4 декабря 2016 Рассказать Опубликовано: 4 декабря 2016 (изменено) 8 часов назад, SKYNET74 сказал: Я вкурсе что так можно сделать, но что делать когда требуется вставить карту например в тексте новости? А что если нужно вставить не одну карту? Куча доп.полей? А если каждую карту нужно ещё и подписать, ещё +1 доп.поле на каждую карту? Править парсер после каждого апдейта и дописывать туда bbкод? тогда небольшой js который будет брать координаты из параметров div`а и вставлять нужный тебе код, например, в <div data-coor="координаты" class="maps"></div> редакторы data-coor="координаты" не вырежут Изменено 4 декабря 2016 пользователем odys Цитата Ссылка на сообщение Поделиться на других сайтах
SKYNET74 315 Опубликовано: 4 декабря 2016 Рассказать Опубликовано: 4 декабря 2016 2 часа назад, odys сказал: тогда небольшой js который будет брать координаты из параметров div`а и вставлять нужный тебе код, например, в <div data-coor="координаты" class="maps"></div> редакторы data-coor="координаты" не вырежут Это инвалидные костыли... 1 Цитата Ссылка на сообщение Поделиться на других сайтах
odys 384 Опубликовано: 4 декабря 2016 Рассказать Опубликовано: 4 декабря 2016 1 час назад, SKYNET74 сказал: Это инвалидные костыли... ну не знаю, с картами гугла отлично работает. Цитата Ссылка на сообщение Поделиться на других сайтах
SKYNET74 315 Опубликовано: 4 декабря 2016 Рассказать Опубликовано: 4 декабря 2016 1 час назад, odys сказал: ну не знаю, с картами гугла отлично работает. Карты гугла можно и встроенными средствами вроде как вставлять... 1 Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 084 Опубликовано: 5 декабря 2016 Рассказать Опубликовано: 5 декабря 2016 В 04.12.2016 в 05:37, SKYNET74 сказал: Фильрование по доменам, неее? По моему вы путаете подгрузку непонятного JS и подгрузку специализированного виджета от проверенного сервиса. Посмотрите внимательно на код. там не только подключение JS, но и еще inline код. который запускает подгруженный код. А inline код не только запускать виджет может, а вообще что угодно. Цитата Ссылка на сообщение Поделиться на других сайтах
SKYNET74 315 Опубликовано: 6 декабря 2016 Рассказать Опубликовано: 6 декабря 2016 В 05.12.2016 в 14:45, celsoft сказал: Посмотрите внимательно на код. там не только подключение JS, но и еще inline код. который запускает подгруженный код. А inline код не только запускать виджет может, а вообще что угодно. Я это прекрасно вижу, но опять же, он вполне попадает регулярки, на крайняк введите bbкод и тогда вообще никакой проблемы с безопасностью не будет. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
idkoder 0 Опубликовано: 11 февраля 2017 Рассказать Опубликовано: 11 февраля 2017 В 30.11.2016 в 17:40, Kolbaser сказал: Например, этот <iframe src="https://api-maps.yandex.ru/frame/v1/-/CZDQbFJP" width="560" height="400" frameborder="0"></iframe> Редактор TinyMCE, вставляя ифрейм в исходный код полной новости, карта отображается в визуальном редакторе, но после сохранения, в новости на сайте она не появляется, а открыв редактирование новости видишь, что весь код ифрейма был автоматически вырезан. Это действительно угрожает безопасности - пользователи при добавлении новости могут вставить свой фрейм, и спокойно похитить данные админа. Но если пользователи не могут добавлять новости на сайте, то эту проблему можно решить, изменив /engine/classes/parse.class.php. Сам так делал на версии 11.0. Если ещё актуально - даже могут дать ссылку на Git, куда не поленился выложить.(тык) Цитата Ссылка на сообщение Поделиться на других сайтах
SKYNET74 315 Опубликовано: 12 февраля 2017 Рассказать Опубликовано: 12 февраля 2017 13 часа назад, idkoder сказал: Это действительно угрожает безопасности - пользователи при добавлении новости могут вставить свой фрейм, и спокойно похитить данные админа. Но если пользователи не могут добавлять новости на сайте, то эту проблему можно решить, изменив /engine/classes/parse.class.php. Сам так делал на версии 11.0. Если ещё актуально - даже могут дать ссылку на Git, куда не поленился выложить.(тык) Мы вкурсе как это решить, тут обсуждение было по данной возможности из коробки. И если всё правильно делать, никто кроме яндекс, гугла и 2gis ничего подсунуть не могут... 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.