Вы можете достичь этого, используя curl
и отправляя переменную как значение GET.
Что-то вроде этого:
$data = "data you want to send";
$data = urlencode($data);
$url = "http://example.com?data=" . $data;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_exec($ch);
curl_close($ch);
Предположим $data = "foobar"
Выполнение выше из PHP скрипта будет такой же, как кто-то посещение http://example.com?data=foobar
из браузера.
Вы могли бы, очевидно, отправить его в любой скрипт, используя URL:
http://example.com/yourscript.php?data=foobar
В yourscript.php
вы можете получить данные по $_GET['data']
, сделать некоторые проверки ввода, чтобы убедиться, что он отправляется из вашего сценария, а не от кого-то другого через браузер (подробнее об этом позже), а затем продолжить свой скрипт.
Чтобы это сработало, yourscript.php
должен будет находиться в папке youtr webhost public html
, поэтому он доступен для вашего другого скрипта.
БЕЗОПАСНОСТИ
ли вы передаете данные через GET
или POST
, кто-то может отправить (возможно, злонамеренные) данные вашего скрипта, а также. Таким образом, когда yourscript.php
получает данные, должен быть способ убедиться, что вы являетесь отправителем скрипта. Легкий способ достичь этого: принять решение о любом произвольном количестве, известном только вам, скажем, 12.
Объедините число с данными, которые вы передаете, и вычислите хэш хд5 и отправьте его как другую переменную get.
В этом случае, вы бы рассчитать md5("12foobar")
и URL будет: http://example.com/yourscript.php?data=foobar&auth=hash
Когда yourscript.php
получают данные, он вычисляет тот же хэш (с использованием числа 12, как известно, никто другой) и если хэш вычисляет совпадения с $_GET['auth']
, вы можете быть уверены, что отправили данные.
Если кто-то попытался подражать вам и отправить данные, они не знали бы, как вы вычисляете хэш, и, таким образом, отправляете неправильный хэш.
PS
Другой способ обеспечить надежную защиту рок, было бы просто проверить IP-адрес агента пользователя на $_SERVER['REMOTE_ADDR']
. Если это IP-адрес веб-хостинга, где находится ваш другой скрипт, то вы знаете, что это вы. Я не думал об этом методе, поэтому могут быть некоторые лазейки.
Как бы эти сценарии запускались/запускались/активировались/связывались для начала? – deceze
Возможный дубликат [Передача переменной из одного файла PHP в другой] (http://stackoverflow.com/questions/4804440/passing-an-variable-from-one-php-file-to-another) – hakre