将数据从一个php文件发送到另一个php文件

时间:2011-07-27 07:53:06

标签: php

我想将数据从一个php文件发送到其他php文件以验证用户身份。它们都不是html文件。而且我无法将其作为标题发送到网址中。 Plz给我一些建议。

3 个答案:

答案 0 :(得分:4)

如果接收者脚本位于其他服务器上,您可以使用CURL来发送安全POST请求,甚至。这不会暴露网址中的任何内容,然而 Firebug可能会看到该请求。要解决此问题,只需确保您的auth key和正在发送的密码为hashed

像这样(未经测试)

这是发件人脚本

<?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请求非常安全,但如果您正在处理重要信息,则可以始终对auth密钥和密码进行哈希处理。希望这会有所帮助。

答案 1 :(得分:0)

加密或散列身份验证数据,并作为POST正文或URL中的一部分发送。在接收端,请查看$_POST$_GET

答案 2 :(得分:0)

您需要将身份验证信息包含在另一个文件中:

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

请参阅:

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

了解更多信息。