スクリプト用のログイン システムを作成しようとしていますが、ある時点で行き詰っています。
私がする必要があるのは、彼が login.php (server1) で送信したユーザーのログイン詳細をバックエンド スクリプトのログイン システム verify.php(server2) に POST することです。verify.php は POST データを使用してログイン情報を検証し、実際に設定します。バックエンド システムの Cookie およびその他すべてのもの。
server2 で 3 番目の部分のスクリプトを使用しているため、あまり変更できません。server1 から server2 に直接 HTML FORM POST を実行すると (action=verify.php リンクを使用)、ログイン全体が機能します。
しかし、さまざまな理由とセキュリティ上の理由から、追加のコードを実行するだけでなく、curl またはその他の方法でログインを POST する必要があります。
ログイン情報が正しく、ログイン機能が server2 で機能したというステータスをログに表示できるため、ログイン システムは機能していますが、何らかの理由で (おそらく curl が原因で)、Cookie がユーザーの PC に設定/保存されていないため、ユーザーがserver2のURLにアクセスしても、私が設定した「ログインが必要です」というエラーメッセージがまだ表示されるため、そのlogin.phpファイルを介してautologgedinを取得していません。
これは私の login.php コード (server1) で、$hostname は server2 (verify.php) へのリンクです。
$data['username']=$username;
$data['pass']=$pass;
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $hostname);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch,CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch,CURLOPT_PROXY, $proxy);
curl_setopt($ch,CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch,CURLOPT_COOKIEFILE, "cookie.txt");
//curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
//execute post
$result = curl_exec($ch);
print_r(curl_error($ch));
print_r(curl_getinfo($ch));
print_r(curl_errno($ch));
//close connection
curl_close($ch);
これがcurlレスポンスです
Trying to login with *user* and *pass* Var check username password
SuccessArray ( [url] => *hostname* [content_type] => text/html [http_code] => 200 [header_size] => 712 [request_size] => 308 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.245843
[namelookup_time] => 0.010171 [connect_time] => 0.01039 [pretransfer_time] => 0.010398 [size_upload] => 257 [size_download] => 93 [speed_download] => 378 [speed_upload] => 1045 [download_content_length] => -1 [upload_content_length] => 257 [starttransfer_time] =>
0.042541 [redirect_time] => 0 [certinfo] => Array ( ) [redirect_url] => ) 0
PS: PHP 用のリモート ログイン システムではなく、HTML FORM アクションを直接使用するのではなく、ユーザー ログイン用のシステムです。
どんな助けでもいただければ幸いです