Этого можно добиться, используя 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
должен находиться в папке public html
веб-хостера youtr, чтобы он был доступен для вашего другого скрипта.
БЕЗОПАСНОСТЬ
Независимо от того, передаете ли вы данные через GET
или POST
, кто-то другой может также отправить (возможно, вредоносные) данные в ваш сценарий. Таким образом, когда yourscript.php
получает данные, должен быть способ обеспечить вас отправителем сценария. Самый простой способ добиться этого: выбрать любое произвольное число, известное только вам, скажем, 12.
Объедините число с данными, которые вы передаете, вычислите хэш md5 и отправьте его как другую переменную get.
В этом случае вы бы вычислили md5("12foobar")
и URL будет: http://example.com/yourscript.php?data=foobar&auth=hash
Когда yourscript.php
получает данные, он вычисляет тот же хеш (используя число 12, которое никто не знает), и если вычисляемый хеш совпадает с $_GET['auth']
, вы можете быть уверены, что отправили данные.
Если кто-то попытается подражать вам и отправить данные, он не будет знать, как вы вычисляете хеш, и, следовательно, отправит неправильный хеш.
PS
Еще один способ обеспечить надежную безопасность - просто проверить IP-адрес пользовательского агента на $_SERVER['REMOTE_ADDR']
. Если это IP-адрес веб-хоста, где находится ваш другой скрипт, то вы знаете, что это вы.
Я не продумал этот метод, поэтому могут быть некоторые лазейки.