Как отследить вставку моего флеш видео плеера на другие сайты - PullRequest
1 голос
/ 19 февраля 2010

Настройка:

  • онлайн-телеканал с клипами и категориями, подобными youtube
  • наш собственный флэш-видеоплеер, который можно вставлять в другие удаленные сайты
  • as2 flash player

Цель: отследить, кто встраивает мои видео, хотя бы с базовой статистикой по домену.

Поскольку это AS2, это сложнее сделать.Моя идея заключается в том, что я могу создать страницу PHP, которая должна открываться каждый раз, когда проигрыватель загружается на любом веб-сайте;тогда флеш-плеер может выполнить "geturl" из PHP-файла, который имеет код Google Analytics или какой-нибудь другой приличный трекер.

Команда geturl может содержать переменную, такую ​​как заголовок видео, которая уже включена в проигрыватель;и этот заголовок передается с помощью GET в файл PHP и устанавливает динамический заголовок страницы, который можно очень хорошо отслеживать.

Проблема: как использовать функцию GETURL, не открывая браузеру пользователя новую вкладку или окно,Есть ли скрытый способ сделать это?

Ответы [ 3 ]

1 голос
/ 21 мая 2010

Основная проблема, которую я обнаружил, заключается в том, что контроль над внешней информацией может существовать только в том случае, если в html-коде для встраивания имеется код allowScriptAccess, например:

<param name="allowScriptAccess" value="always">

и

allowScriptAccess="always"

В теге.

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

Вот код AS2, который работал:

function geturlhttp() {
//urlPath = ExternalInterface.call("window.location.href.toString");
urlPath = ExternalInterface.call("eval","document.location.href");

//both work, try which one is bet
}
geturlhttp();


var lv:LoadVars = new LoadVars();

lv.var1 = urlPath;
lv.var2 = title; //an internal variable, the name of the file


lv.sendAndLoad("http://www.somesite.test/tracker.php",lv,"POST");

Таким образом, отслеживание работает только на моем собственном сайте, а не на внешних удаленных сайтах встраивания, которые появляются пустыми или «нулевыми» в sql.

А вот код PHP, который я сделал с помощью SQL.Я только что-то сделал для вставки и собираюсь позже поработать над отображением и выделением ...

<?php
//POST needs to be secured, this is just a test :)
$url = $_POST['var1'];
$title = $_POST['var2'];

$dbhost = "127.0.0.1"; // almost always localhost.
$dbname = "x";   // Database Name, In our case, its news
$dbuser = "x"; // Database Username
$dbpass = "x"; // Databse Password


$connect = mysql_connect("$dbhost","$dbuser","$dbpass");// Connecting to Database

mysql_select_db($dbname) or die (mysql_error()); // Selecting Database

$sql= "INSERT INTO tablename (urlrow, titlerow) VALUES ('$url','$title')";
$result = mysql_query($sql);

?>
0 голосов
/ 19 февраля 2010

Салют Дан,

Давно не делали as2.

mochi bot
(источник: mochibot.com )

помню, я использовал mochibot , вы можете отследить ваш SWF, где бы он ни был встроен.

Они могут все еще иметь отслеживание as2.

0 голосов
/ 19 февраля 2010

Самый простой способ сделать это - использовать LoadVars:

var lv:LoadVars = new LoadVars();

lv.var1 = "hostname";
lv.var2 = "browsersettings";

lv.send("http://yourserver/script.php, lv, "POST");

Я не совсем уверен, есть ли какие-либо ограничения для Песочницы для этого.

...