<?
$data = array('user' => $user, 'pass' => $pass, 'appid' => 'pukeko');
$domain = $_SERVER["SERVER_NAME"]; // user the super global $_SERVER["SERVER_NAME"] or set it manually to, ex: http://www.myserver.com
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://ServerB/handler.php');
curl_setopt($ch, CURLOPT_PORT, 80);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_REFERER, $domain); // USE CURLOPT_REFERER to set the referer
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$ans_xml = curl_exec($ch);
?>
<?
// ServerB - http://ServerB/handler.php
$referer = $_SERVER['HTTP_REFERER']; // http://www.myserver.com
?>
Суперглобальный $ _ SERVER ["SERVER_NAME"] будет работать только при вызове scriptA через apache, например: " wget http://serverA/scritptA.php"
UPDATE:
Вы также можете отправить $domain = $_SERVER["SERVER_NAME"]
в свои почтовые данные:
$domain = $_SERVER["SERVER_NAME"]
$data = array('user' => $user, 'pass' => $pass, 'appid' => 'pukeko', 'icomefrom' => $domain);
и в http://ServerB/handler.php получите с:
$icomefrom = $_POST['icomefrom'];
Таким образом, вам не нужно беспокоиться о фальшивых реферерах.