将数据从一个php文件发送到另一个php文件
我想将数据从一个php文件发送到另一个php文件,以验证用户身份。它们都不能是html文件。我不能发送它作为标题,因为它出现在url中。请给我一些建议。加密或散列身份验证数据,并作为将数据从一个php文件发送到另一个php文件,php,Php,我想将数据从一个php文件发送到另一个php文件,以验证用户身份。它们都不能是html文件。我不能发送它作为标题,因为它出现在url中。请给我一些建议。加密或散列身份验证数据,并作为POST正文的一部分或在URL中发送。在接收端,查看$\u POST或$\u GET,您可以使用它来发送一个安全的POST请求,如果接收方脚本位于另一台服务器上,甚至。这不会暴露URL中的任何内容,但是Firebug可能能够看到请求。要解决这个问题,只需确保您的auth密钥和正在发送的密码正确无误 类似这样的东西(未
POST
正文的一部分或在URL中发送。在接收端,查看$\u POST
或$\u GET
,您可以使用它来发送一个安全的POST
请求,如果接收方脚本位于另一台服务器上,甚至。这不会暴露URL中的任何内容,但是Firebug可能能够看到请求。要解决这个问题,只需确保您的auth密钥
和正在发送的密码正确无误
类似这样的东西(未经测试)
这是发送者脚本
<?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
请求是非常安全的,但如果您处理的是关键信息,则始终可以对身份验证密钥和密码进行哈希运算。希望这有帮助。您需要将身份验证信息包含到另一个文件中,因此:
<?php
require_once('authentication_infomation.php');
doTheAuthentication($authentication_information);
?>
见:
更多信息。我想你需要把问题扩大一点。这些文件在同一台服务器上吗?文件里有什么?@Matt文件在同一台服务器上,同一个目录下。一个文件包含身份验证信息(用户名、密码等),另一个文件将验证该信息。我不能嵌入这两个文件是作为数组存储的身份验证信息(用户名、密码)吗?如果userz不能是html文件,它们不能使用HTTP协议,例如
$\u POST
或$\u SESSION
?还有重定向(Z:)$_GET违背了OP的首选解决方案。而且我无法嵌入这两个文件
-OP对其OP的评论:)@Jeff我可能误解了这一评论。我假设OP由于不知道如何嵌入文件而无法嵌入文件。