Intereting Posts
как использовать cURL в facebook graph api request Как обрезать изображение во время загрузки? Могу ли я найти, какой пользователь веб-сервер запускается, как в PHP? Создание пользовательского CagePHP Pagination Route FILE привилегия для сеанса / пользователя MySQL Как сохранить изменение разметки, которое я сделал, при переходе с одной страницы на другую? Что лучше PHP SOAP или NuSOAP? Исключение «сеанс уже запущено …» в приложении Zend Framework Установите значение скрытого поля с помощью Javascript; использовать метод PHP post для отправки данных Массив массива PHP в алфавитном порядке с использованием значения субарама Как обфускать JavaScript с помощью PHP? Должен ли я использовать фигурные скобки или конкатенатные переменные в строках? Как получить день недели из временной метки Unix (PHP)? Производительность Memcached Загрузка нескольких файлов в PHP с использованием HTML-формы или cURL

Отправка данных из одного php-файла в другой файл php

Я хочу отправить данные из одного php-файла в другой php-файл для проверки подлинности пользователя. Ни один из них не может быть html-файлами. И я не могу отправить его как заголовок, как он появляется в URL-адресе. Plz дайте мне несколько советов.

Вы можете использовать CURL для этого, чтобы отправить безопасный запрос POST , даже если сценарий получателя находится на другом сервере. Это не будет показывать ничего в URL-адресе, однако Firebug может увидеть запрос. Чтобы обойти это, просто убедитесь, что ваш auth key и пароль, который отправляется, хэшируются .

Что-то вроде этого (untested)

Вот сценарий отправителя

 <?php ///// Sender.php /////// //Set up some vars $url = 'http://domain.com/Receiver.php'; $user = 'someusername'; $pw = 'somepassword'; $auth_key = 'YourSecretAuthKey'; $fields = array( 'auth'=>urlencode($auth_key), 'user'=>urlencode($user), 'pw'=>urlencode($pw) ); // Init. string $fields_string = ''; // URL-ify stuff foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; } rtrim($fields_string,'&'); //open connection $ch = curl_init(); //set the url, number of POST vars, POST data curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_POST,count($fields)); curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string); //execute post $result = curl_exec($ch); //close connection curl_close($ch); ?> 

И сценарий получателя:

 <?php ////// Receiver.php ////// if(!isset($_POST['authkey']))die('Error: No Auth Key'); if(!isset($_POST['user']))die('Error: No Username!'); if(!isset($_POST['pw']))die('Error: No password!'); $auth_key = $_POST['auth']; $correct_authkey = 'YourSecretKey'; if($auth_key!=$correct_authkey)die('WRONG AUTH KEY!!!!'); $user = $_POST['user']; $pw = $_POST['pw']; //// Here you can process your username and password ?> 

Запрос POST довольно безопасен, но если вы обрабатываете важную информацию, вы всегда можете хэш-ключ и пароль. Надеюсь это поможет.

Шифровать или хешировать данные аутентификации и отправлять их как часть тела POST или URL. На принимающей стороне просмотрите $_POST или $_GET .

Вы должны включить информацию об аутентификации в другой файл:

 <?php require_once('authentication_infomation.php'); doTheAuthentication($authentication_information); ?> 

Видеть:

http://se.php.net/manual/en/function.require-once.php

Чтобы получить больше информации.