0

2 つのドメインのユーザー間のクロスドメイン チャットを可能にする、つまりチャット ルームとチャットを作成できるチャット アプリケーションを設計しようとしています。それで、curl と ajax を使用するように提案されました。しかし、どうすればそれができるのかわかりませんし、カールについてもあまり知りません。HTTP、さまざまなプロトコルを使用してドメイン間でファイル/データを転送するために使用されることを知っています。しかし、ログインチェックを使用してドメイン間でメッセージを転送するにはどうすればよいでしょうか。ググると以下のコードスニペットが見つかりましたが、理解できませんでした。CURL_SSL_VERIFYPEER はドメインの検証を行い、承認されたドメインのみをリダイレクトしますか? curl_setopt($ch, CURLOPT_POSTFIELDS,"user_name=$user_name&cmd=$send_cmd&domain=$my_domain"); について教えてください。

// code snippet //

$ch = curl_init();
         curl_setopt($ch, CURLOPT_URL, $url);
         curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
         curl_setopt($ch,CURLOPT_FAILONERROR,1);
         curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
         curl_setopt($ch, CURLOPT_POST, 1); 
         curl_setopt($ch, CURLOPT_POSTFIELDS,"user_name=$user_name&cmd=$send_cmd&domain=$my_domain");
         $res = curl_exec($ch);
         curl_close($ch);

2) 私の 2 番目の質問は、ここでセッション変数を使用したいので、$_SESSION を使用することです。ページでセッション変数を使用するときはいつでも、session_start(); を使用する必要があることを知りました。しかし、上部に session_start() を使用していないのになぜ機能するのですか? 私はちょうど次のコードを与えました

// code //
require_once 'db_connect.php';

if (isset($_SESSION ['user_id']) && !empty($_SESSION ['user_id']))
{

    echo '<p align="center">Hi, '.$_SESSION ['first_name'].'</p>';
    $u_name = $_SESSION['user_name'];
    include 'home.php';
}
else
{
//some stmt
}

/*******home.php file ****/

<?php
require_once 'dbconnect.php';
$_SESSION['username'] = $u_name;

?>

上記では、session_start() を使用せず、GET または POST を使用して変数を取得しませんでしたが、それでも $u_name は home.php ページにどのように渡されますか?

3) そして、次のステートメントは何をしますか?

echo '<link rel="stylesheet" type="text/css" href="bck_ground.css" />';

ありがとう

4

1 に答える 1

0

「2 つのドメインのユーザーがチャット ルームを作成してチャットできるようにする」が正確に何を意味するのかはわかりませんが、クロスドメインの ajax リクエストが必要な場合は、Access-Control-Allow-Originヘッダーを確認してください。最新のすべてのブラウザでサポートされています。

古いブラウザーをまだサポートする必要がある場合は、あるドメインから別のドメインに ajax-request をプロキシすることができます。私に関して言えば、PHP はまったく必要ありません.htaccess。たとえば、プロキシ ルールを組み込むことができます。

于 2012-07-06T21:07:48.337 に答える