Перейти к публикации

Код карты Яндекса вставляется в полную новость?


Рекомендованные сообщения

Как-то всё время пользовался гугловскими картами, а сейчас понадобилось вставить яндесовскую, но их ифрейм отказался отображать карту в полной новости, пришлось вставлять через рекламные материалы, почему такая дискриминация?

Ссылка на сообщение
Поделиться на других сайтах

Например, этот

<iframe src="https://api-maps.yandex.ru/frame/v1/-/CZDQbFJP" width="560" height="400" frameborder="0"></iframe>

Редактор TinyMCE, вставляя ифрейм в исходный код полной новости, карта отображается в визуальном редакторе, но после сохранения, в новости на сайте она не появляется, а открыв редактирование новости видишь, что весь код ифрейма был автоматически вырезан.

Ссылка на сообщение
Поделиться на других сайтах
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 от яндекса.

Ссылка на сообщение
Поделиться на других сайтах
17 часов назад, DeeMon сказал:

Аналогично и с 2Gis

Конретезируйте всегда указав конкретный код который вам нужен. Мы не пользуемся всеми сторонними сервисами подряд.

Ссылка на сообщение
Поделиться на других сайтах
В 01.12.2016 в 14:41, celsoft сказал:

Мы не пользуемся всеми сторонними сервисами подряд.

Ну сервисов с картами не так уж и много, по сути то- Яндекс Карты, Google Maps, 2Gis.

Ссылка на сообщение
Поделиться на других сайтах
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 нет вроде.

Изменено пользователем Captain
Ссылка на сообщение
Поделиться на других сайтах
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>.

Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, SKYNET74 сказал:

...Видать исключение для него делать нужно для тега <script>.

Ага, <script> ;) Там ещё есть API и примеры реализации, через шаблоны  и доп. поля, походу можно реализовать, без влезания в код двига. Лично я, не пользовался этим сервисом для сайта, за ненадобностью. Тока на смартфоне.:)

Изменено пользователем Captain
Ссылка на сообщение
Поделиться на других сайтах
15 часов назад, SKYNET74 сказал:

Видать исключение для него делать нужно для тега <script>.

Для JS не может быть исключений. Это язык програмирования. На нем можно и карты вставлять и вирусы писать. Все что угодно можно сделать. Добавление JS напрямую в новости поэтому никогда не будет, т.к. это прямая угроза безопасности. Не бывает безопасных JS.

Ссылка на сообщение
Поделиться на других сайтах
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'у иногда или вручную в админке), но никак не каждый раз при генерации страницы (кеш не учитываем).

Ссылка на сообщение
Поделиться на других сайтах
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 в частности.

Ссылка на сообщение
Поделиться на других сайтах
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 час назад, SKYNET74 сказал:

Я думаю 2gis точно не будут возвращаться к 2000-ым и переводить свои сервисы на iframe...

Как раз таки использование JS, это 2000-e а не iframe. Яндекс например тоже раньше сидел только на JS, поэтому его и не было в списке.Сейчас перешел на iframe.

 

1 час назад, SKYNET74 сказал:

А я говорил разрешать ВСЕ JS?
Такой же список определённых заранее известных кодов как и для iframe, ну или как выше писал, bbкод.

Вы не читаете, что вам пишут. Невозможно в языках програмирования разделить на плохой и хороший код. На то это и язык программирования что в нем существуют миллионы возможностей написания одного и того же в разных вариантах. Языки программирования не поддаются фильтрации.

 

1 час назад, SKYNET74 сказал:

Ну сделайте bbкод для 2gis тогда, парсер будет сам строить JS и затем обратно переводить его bbкод.

Зачем BB код? Если вам нужно вставить, то такая возможность у вас есть и сейчас. Создаете доп. поле. В нем пишите только координаты, а все остальное из вашего JS кода задаете в шаблоне.  Все. Достаточно просто и безопасно. Что в доп. поле писать координаты, что в BB коде. Нет никакой разницы.

 

 

Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, celsoft сказал:

Вы не читаете, что вам пишут. Невозможно в языках програмирования разделить на плохой и хороший код. На то это и язык программирования что в нем существуют миллионы возможностей написания одного и того же в разных вариантах. Языки программирования не поддаются фильтрации.

Фильрование по доменам, неее? По моему вы путаете подгрузку непонятного JS и подгрузку специализированного виджета от проверенного сервиса.
Вы же доверяете iframe с "проверенных" сервисов, хотя они тоже много чего не хорошего могут натворить, окажись там вредоносный код, но мы берём в расчёт что такие сервисы туда толкать его не будут, и обеспечат достаточную безопасность для того что бы он там не появился.

 

7 часов назад, celsoft сказал:

Зачем BB код? Если вам нужно вставить, то такая возможность у вас есть и сейчас. Создаете доп. поле. В нем пишите только координаты, а все остальное из вашего JS кода задаете в шаблоне.  Все. Достаточно просто и безопасно. Что в доп. поле писать координаты, что в BB коде. Нет никакой разницы.

Я вкурсе что так можно сделать, но что делать когда требуется вставить карту например в тексте новости?
А что если нужно вставить не одну карту? Куча доп.полей? А если каждую карту нужно ещё и подписать, ещё +1 доп.поле на каждую карту?

Править парсер после каждого апдейта и дописывать туда bbкод?

Изменено пользователем SKYNET74
Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, SKYNET74 сказал:

Я вкурсе что так можно сделать, но что делать когда требуется вставить карту например в тексте новости?
А что если нужно вставить не одну карту? Куча доп.полей? А если каждую карту нужно ещё и подписать, ещё +1 доп.поле на каждую карту?

Править парсер после каждого апдейта и дописывать туда bbкод?

тогда небольшой js который будет брать координаты из параметров div`а и вставлять нужный тебе код, например, в <div data-coor="координаты" class="maps"></div>

редакторы data-coor="координаты"  не вырежут

Изменено пользователем odys
Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, odys сказал:

тогда небольшой js который будет брать координаты из параметров div`а и вставлять нужный тебе код, например, в <div data-coor="координаты" class="maps"></div>

редакторы data-coor="координаты"  не вырежут

Это инвалидные костыли...

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, SKYNET74 сказал:

Это инвалидные костыли...

ну не знаю, с картами гугла отлично работает.

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, odys сказал:

ну не знаю, с картами гугла отлично работает.

Карты гугла можно и встроенными средствами вроде как вставлять...

Ссылка на сообщение
Поделиться на других сайтах
В 04.12.2016 в 05:37, SKYNET74 сказал:

Фильрование по доменам, неее? По моему вы путаете подгрузку непонятного JS и подгрузку специализированного виджета от проверенного сервиса.

Посмотрите внимательно на код. там не только подключение JS, но и еще inline код. который запускает подгруженный код. А inline код не только запускать виджет может, а вообще что угодно.

 

Ссылка на сообщение
Поделиться на других сайтах
В 05.12.2016 в 14:45, celsoft сказал:

Посмотрите внимательно на код. там не только подключение JS, но и еще inline код. который запускает подгруженный код. А inline код не только запускать виджет может, а вообще что угодно.

 

Я это прекрасно вижу, но опять же, он вполне попадает регулярки, на крайняк введите bbкод и тогда вообще никакой проблемы с безопасностью не будет.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...
В 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, куда не поленился выложить.(тык)

Ссылка на сообщение
Поделиться на других сайтах
13 часа назад, idkoder сказал:

Это действительно угрожает безопасности - пользователи при добавлении новости могут вставить свой фрейм, и спокойно похитить данные админа.

Но если пользователи не могут добавлять новости на сайте, то эту проблему можно решить, изменив /engine/classes/parse.class.php.

Сам так делал на версии 11.0.

Если ещё актуально - даже могут дать ссылку на Git, куда не поленился выложить.(тык)

Мы вкурсе как это решить, тут обсуждение было по данной возможности из коробки.
И если всё правильно делать, никто кроме яндекс, гугла и 2gis ничего подсунуть не могут...

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...