私はあるphpファイルから他のphpファイルにデータを送信して、ユーザーを認証したいと思っています。それらのどれもhtmlファイルではありません。そして、私はURLに表示されるヘッダーとしてそれを送ることはできません。 Plzは私にいくつかの提案を与える。一つのphpファイルから他のphpファイルにデータを送る
1
A
答えて
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
。
あなたの質問を少し拡大する必要があると思います。これらのファイルは同じサーバーにありますか?ファイルには何が入っていますか? –
@Mattファイルは同じサーバー、同じディレクトリにあります。 1つのファイルには認証情報(ユーザー名、パスワードなど)が含まれており、もう1つのファイルは情報を確認します。 2つのファイルを埋め込むことはできません – Nitish
認証情報(ユーザー名、パスワード)は配列として格納されていますか? –