ホームページ >バックエンド開発 >PHPチュートリアル >専門家が入り、curl のシミュレートされたログインについて
(ログインが成功したことを示すプロンプトが表示されますが、ログインアドレスに戻ります)
<?php$cookie_file = tempnam('./temp','cookie');$login_url = 'http://localhost/dedecms/dede/login.php';$post_fields = 'gotopage=%2Fdedecms%2Fdede%2Findex.php&dopost=login&adminstyle=newdedecms&userid=admin&pwd=123456&sm1=';$ch = curl_init($login_url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER,0);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);curl_exec($ch);curl_close($ch);$url='http://localhost/dedecms/dede/article_add.php?channelid=1';$ch = curl_init($url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);$contents = curl_exec($ch);curl_close($ch);?>
コードの 12 行目を echocurl_exec($ch); に変更します。今何を確認しましたか?
変更しても動作しません。ログイン成功のメッセージが表示されるので、バックエンドのホームページにジャンプしてからログインページにジャンプします。
コードの 12 行目を echocurl_exec($ch) に変更します。 ; 今何を見たのですか?
16行目からはCookieが取得できないように見えますが、明らかにCookieは生成されています(追記:推測です)
次にcurl_setopt($ch, CURLOPT_HEADER, 1)
次にcurl_setopt( $ch , CURLOPT_HEADER, 1);
1HTTP/1.1 302 Found Date: Thu, 04 Apr 2013 12:23:50 GMT Server: Apache/2.2.21 (Win32) PHP/5.3.10 X-Powered-By: PHP/5.3.10 Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: private Pragma: no-cache location: login.php?gotopage=%2Fdedecms%2Fdede%2Farticle_add.php%3Fchannelid%3D1 Content-Length: 0 Content-Type: text/html; charset=gb2312
18 行目の結果を変更しました
ここにジャンプするつもりではありませんか
login.php?gotopage=%2Fdedecms%2Fdede%2Farticle_add.php%3Fchannelid%3D1
login.php?gotopage=%2Fdedecms%2Fdede%2Farticle_add.php%3Fchannelid%3D1
いいえ、彼は http://localhost/dedecms/dede /article_add にジャンプしたいと考えています。 php?channelid=1
login.php?gotopage=%2Fdedecms%2Fdede%2Farticle_add.php%3Fchannelid%3D1
http://localhost/dedecms/ にジャンプする必要がありますdede/article_add.php?channelid=1 そして、彼は誤ってログイン ページ (例: http://localhost/dedecms/dede/login.php?gotopage=%2Fdedecms%2Fdede%2Findex.php) にジャンプしました
彼はここにジャンプするつもりです
login.php?gotopage=%2Fdedecms%2Fdede%2Farticle_add.php%3Fchannelid%3D1
ページ http://localhost/dedecms/dede/article_add.php?channelid=1 を取得する必要がありますデータ
デデ検証
デデ検証 検証コードが削除されました
専門家の回答を待っています
私は醤油ユーザーです。
あはは、ポイントが足りないので、返信してポイントをゲットします。
Cookie が無効か、Cookie のドメインが間違っているはずです
ログインに成功した後、ホームページに戻った場合は、Cookie の問題のはずです...
ホームページに戻った場合ログインに成功したら、Cookie の問題であるはずです。ああ...
確かに Cookie のようですが、Cookie はファイルに保存されています。コードの 20 行目で Cookie を送信していませんか?解決策を探しています
あはは、利用可能なポイントが足りません。ポイントを獲得するには返信してください。
あはは、ポイントが足りないので、返信してポイントをゲットします。 すべては醤油だと思います
専門家を待ち続けてください、今日も
専門家を待ち続けてください、今日も
header("location:login.php?gotopage=". urlencode($dedeNowurl) );
車の違反をチェックするためにこの機能を使用するのは問題ありません~~~
<?phpsession_start();function getHtml($url,$tmpFile,$postData){ $ch = curl_init($url); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, $tmpFile); curl_setopt($ch, CURLOPT_COOKIEFILE, $tmpFile); if($postData!=NULL) { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); } $content=curl_exec($ch); curl_close($ch); return $content;} ?>
localhost は使用できません。
私は学ぶためにここにいます。 。 。