отправляем на некий домен ($Domain_adress) поле name из формы ($post_name)
$my_protection_string="blablabla";
$sha1_hash=hash('sha1','my_super_request&'.$post_name.'&'.$my_protection_string);
$paramsArray=array('sha1_hash'=>$sha1_hash,'post_name'=>$post_name,'notification_type'=>'my_super_request' );
$vars=http_build_query($paramsArray);
$options=array(
'http'=>array(
'method'=>'POST',
'header'=>'Content-type:application/x-www-form-urlencoded',
'user_agent'=>'Chain of requests from my server',
'content'=>$vars,));
$context=stream_context_create($options);
$result=file_get_contents($Domain_adress,false,$context);
//если через 'method'=>'GET', тогда добавляем в ссылку get параметры:
//$result=file_get_contents($Domain_adress.'?'.$vars,false,$context);
//а в коде ниже меняем везде $_POST на $_GET
на другой стороне проверяем наличие ключей хешируем с тем же секретным ключом $my_protection_string и сверям полученный хеш. если все окей обрабатываем полученные данные как было задумано
$my_protection_string="blablabla";
if(isset($_POST['notification_type'])&&$_POST['notification_type']=='my_super_request'&&isset($_POST['sha1_hash'])&&isset($_POST['post_name'])){
$chek_hash=hash('sha1',$_POST['notification_type'].'&'.$_POST['post_name'].'&'.$my_protection_string);
if($_POST['sha1_hash']==$chek_hash){
//проверка пройдена обрабатываем полученные данные как было задумано
}
}
з.ы код примерный (не проверял)... на работе нет возможности