2011-07-27 11 views
1

私はあるphpファイルから他のphpファイルにデータを送信して、ユーザーを認証したいと思っています。それらのどれもhtmlファイルではありません。そして、私はURLに表示されるヘッダーとしてそれを送ることはできません。 Plzは私にいくつかの提案を与える。一つのphpファイルから他のphpファイルにデータを送る

+1

あなたの質問を少し拡大する必要があると思います。これらのファイルは同じサーバーにありますか?ファイルには何が入っていますか? –

+0

@Mattファイルは同じサーバー、同じディレクトリにあります。 1つのファイルには認証情報(ユーザー名、パスワードなど)が含まれており、もう1つのファイルは情報を確認します。 2つのファイルを埋め込むことはできません – Nitish

+0

認証情報(ユーザー名、パスワード)は配列として格納されていますか? –

答えて

4

レシーバスクリプトが別のサーバー上にある場合は、さえ、安全なPOSTリクエストを送信するには、このためにCURLを使用することができます。 URLには何も公開されませんが、ファイヤーバグがリクエストを見ることができるかもしれません。これを回避するには、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要求はかなり安全ですが、あなたが処理している場合重要な情報は、あなたは常に認証キーとパスワードをハッシュすることができます。お役に立てれば。

0

認証データを暗号化またはハッシュし、POST本文の一部またはURLの一部として送信します。受信側では、$_POSTまたは$_GETを参照してください。

+1

$ _GETは、OPの推奨ソリューションに逆らっています。 – Jeff

0

あなたはthusly他のファイルに認証情報を含める必要があります。

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

参照:詳細については

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

+0

「OPのコメントには2つのファイルを埋め込むことはできません。 :) – Jeff

+0

@ジェフ私はそのコメントを誤解しているかもしれません。私は、OPのやり方を知らないためにOPがファイルを埋め込むことができないと考えました。 –

+0

多分私はそれを誤解していました、誰が知っていますか? :P – Jeff

関連する問題