Есть необходимость во встраивании iframe в различные сайты. Сайты клиенты будут регистрировать свой домен в системе и им будет дана ссылка для размещения на своем сайте.
Но суть в том чтобы достоверно идентифицировать, что код размещен именно на нужном сайте.
Можно проверять реферер(но это дет сад и каждый кто хоть чуть чуть работал с CURL обойдет), можно еще сверять с IP. Но скажем IP динамический. Ключи в корень сайта кидать тоже кажется сомнительным мероприятием.
Как еще проверить достоверность?
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Invis1ble
6.09.2013 - 18:33
Может я неправильно понял задачу, но я делал так:
- генерирую для каждого клиента свой уникальный ключ подлиннее
- клиенты вставляют meta-тэг с этим ключом к себе
- ???
- PROFIT
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
Цитата (Invis1ble @ 6.09.2013 - 14:33) |
Может я неправильно понял задачу, но я делал так: - генерирую для каждого клиента свой уникальный ключ подлиннее - клиенты вставляют meta-тэг с этим ключом к себе |
Правильно понимаешь.
Каким образом это работает? Объясни. Никогда с этим не сталкивался.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Invis1ble
7.09.2013 - 19:26
T1grOK
Цитата |
Каким образом это работает? Объясни. |
да в принципе просто: отсылаешь этот ключ javascript'ом на сервер и там проверяешь. Хотя у тебя айфрейм, тогда наверное надо будет мета-тэг прямо в него подгружать, чтоб был к нему доступ из кода. Или прямо в URL в виде параметра добавить вообще ключ.
У меня немного другая ситуация, я генерирую инициализирующий javascript-код, и встраивают уже его в сайты. А этот скрипт в свою очередь уже подгружает основной, который получает данные и рисует виджеты на других сайтах.
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
Вот сейчас ничего нового не написал.
ЗАЧЕМ ВООБЩЕ НУЖЕН КОД/КЛЮЧ? Ведь это некий уникальный отпечаток, с таким же успехом я бы мог передать id из таблицы. В любом случае код виден всем и делать длинной в 100500 символов не имеет смысла.(разве я не прав?)
Я что id, что код со 100500 символами могу разместить на левом сайте(самый простой случай).
Усложнаем задачу, проверяем HTTP_REFERER. Через CURL я решаю этот вопрос.
Даже если в iframe, есть скрипты или какой то другой JS функционал, я получив сам iframe, распарсю его, подгружу все что нужно для работы содержимого iframe, через CURL и выведу на левом сайте.
P.S. Или я многого хочу. Просто если встраиваемый код бесплатен, то это не так страшно, а если клиент заплатил 500 рублей за него, а сторонние сайты пользуясь случаем, размещают платный код у себя на сайте...
Вот интересно как идентифицирует тот же Яндекс, Гугл....
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Обязательно айфреймом? Айфрейм вызывается из браузера; код вставки айфрейма не защитить никак.
Может быть все же на пхп сделать?
Вот живой пример:
http://www.daopharm.ru/ - в низу правой колонки блок "новости медицины".
Наполняется содержимым:
echo file_get_contents('http://pharm-forum.ru/ssi.php?a=dao&act=news&viev=5');
Раздавай покупателям сервиса свои индивидуальные ключи доступа, по которым сможешь отслеживать интенсивность использования сервиса, и пусть покупатели зашивают ключ доступа в пхп-код.
_____________
Бесплатному сыру в дырки не заглядывают...
Invis1ble
7.09.2013 - 21:18
T1grOKМы все же говорим о разных вещах, теперь я понял, что тебе нужно.
Навскидку, решений пока не вижу, если придумаешь что-то - напиши, интересно самому.
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
FatCat - это предложение из разряда Oauth. По сути то не важно Iframe или нет, забрал с помощью PHP с использованием секретного ключа, разместил на сайте - с сайта стянули, разместили у себя....ровным счетом то же самое.
Oauth, OpenAPI - это больше подходит для оперирования конкретными данными, с использованием на каждом сайте своего набора скриптов, которые реализовывают функционал(На примере того же VK, Одноклассники и т.д.). То есть сайт обращается сам к себе.
Но когда доходит, до каких-то интерактивных возможностей, нужно обращаться к удаленному сайту / серверу.
Енто был я
Цитата (Invis1ble @ 7.09.2013 - 17:18) |
Навскидку, решений пока не вижу, если придумаешь что-то - напиши, интересно самому. |
Ок. Правда от CURL еще никто не спасся...
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Встраиваемый код
<script>
if(domen != 'domen.com'){
alert('Идите лесом');
};
</script>
<div>
Это вставленный код
</div>
Зятянул сам блок сделал реплейс или если js файл, дополнительный запрос и реплейс
<script>
if(domen != 'domen.com'){
};
</script>
И что изменилось? Ничего.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
vagrand
8.09.2013 - 23:24
T1grOK
Думаю что будет проще что-то дельное посоветовать если вы подробнее опишите суть вашего сервиса.
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Встраиваемый код - это яндекс карта с объектами, детальная информация о каждом из них и еще всякие дополнительные плюшки. Используется активно аякс, но не вижу проблемы, перенаправить аякс запрос на свой сайт и сделать запрос через CURL. MiksIr дельный совет, была тоже такая мысль.
Вот интересно каким образом та же гугл реклама работает?! Если примерно так, то можно накрутить просмотр и получить за это монетку...
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.