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

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


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

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

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

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

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

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

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

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

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

Расширить  

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

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

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

Расширить  

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

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

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

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

Расширить  

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

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

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

Расширить  

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

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

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

Расширить  

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

  03.12.2016 в 10:38, 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'у иногда или вручную в админке), но никак не каждый раз при генерации страницы (кеш не учитываем).

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

Их код вставки же должен иметь свой чётко утверждённый формат.

Расширить  

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

 

Тот же тег iframe это тоже угроза безопасности безопасности сайта, но в отличие от JS мы ее можем хотя бы отсечь по домену. И разрешая вставку iframe с определенного домена, нужно определенно понимать, что если например яндекс, гугл или yotube будут распространять вирусы в своих iframe, то вы от этого никак не обезопаситесь и не защититесь, и фильтруется здесь не по коду который в этих iframe, а по доверию к компаниям. Т.е. мы предполагаем что яндекс, гугл или yotube не будут распространять вирусы. 

 

Отфильтровать код языка программирования на безопасный и небезопасный невозможно, но можно доверится компании, чтобы ей доверится ей нужно от прямого кода уходить в iframe, и вот когда 2gis перейдет на API с использованием iframe, то тогда и можно будет добавить ее в безопасные и доверительные. Я языки програмирования не могут быть безопасными по определению, иначе бы они не были бы языками программирования.

 

Поэтому в данном вопросе нужно не меня, а 2gis чтобы они уходили от прямого JS на iframe. 

 

  03.12.2016 в 19:05, SKYNET74 сказал:

PS: По поводу вычисления размера файла и его md5 на лету вы тоже утверждали что это прямо нужно что бы сразу видеть изменения файлов на сайте, и что менять это не будете ради безопасности, и что мы видим в пресс релизе DLE v11.2 п.29?

Расширить  

Мое мнение по этому вопросу не изменилось. Но практика показала что людям на это "все равно". Им главное нагрузка. А так как это не несет никакой угрозы непосредственно DLE, а самим владельцам собственно не очень это принципиально, они эти подписи у себя не хранят. Что ж, если людям это не нужно, а прямой угрозы DLE от этого нет никакой, то пожалуйста, мы реализовали. Но что касается JS, тут уже изменений быть не может в принципе, т.к. это прямая угроза сайту, и в DLE в частности.

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

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

Расширить  

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

 

  03.12.2016 в 19:33, celsoft сказал:

Тот же тег iframe это тоже угроза безопасности безопасности сайта, но в отличие от JS мы ее можем хотя бы отсечь по домену. И разрешая вставку iframe с определенного домена, нужно определенно понимать, что если например яндекс, гугл или yotube будут распространять вирусы в своих iframe, то вы от этого никак не обезопаситесь и не защититесь, и фильтруется здесь не по коду который в этих iframe, а по доверию к компаниям. Т.е. мы предполагаем что яндекс, гугл или yotube не будут распространять вирусы. 

Расширить  

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

 

  03.12.2016 в 19:33, celsoft сказал:

Отфильтровать код языка программирования на безопасный и небезопасный невозможно, но можно доверится компании, чтобы ей доверится ей нужно от прямого кода уходить в iframe, и вот когда 2gis перейдет на API с использованием iframe, то тогда и можно будет добавить ее в безопасные и доверительные. Я языки програмирования не могут быть безопасными по определению, иначе бы они не были бы языками программирования.

 

Поэтому в данном вопросе нужно не меня, а 2gis чтобы они уходили от прямого JS на iframe. 

Расширить  

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

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

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

Расширить  

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

 

  03.12.2016 в 19:50, SKYNET74 сказал:

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

Расширить  

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

 

  03.12.2016 в 19:50, SKYNET74 сказал:

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

Расширить  

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

 

 

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

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

Расширить  

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

 

  03.12.2016 в 21:03, celsoft сказал:

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

Расширить  

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

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

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

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

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

Расширить  

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

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

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

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

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

Расширить  

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

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

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

Расширить  

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

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

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

Расширить  

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

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

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

Расширить  

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

 

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

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

 

Расширить  

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

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

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

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

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

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

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

Расширить  

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

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

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

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

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

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

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

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

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

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

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