ホームページ >バックエンド開発 >PHPチュートリアル >専門家が入り、curl のシミュレートされたログインについて

専門家が入り、curl のシミュレートされたログインについて

WBOY
WBOYオリジナル
2016-06-23 14:17:17923ブラウズ

(ログインが成功したことを示すプロンプトが表示されますが、ログインアドレスに戻ります)

<?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); に変更します。Nen は何を見たのでしょうか?

コードの 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 は使用できません。

私は学ぶためにここにいます。 。 。

dede ログインクラスが制限されました

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。