ホームページ  >  記事  >  バックエンド開発  >  PHPのcurlを使いこなすのは少し難しい

PHPのcurlを使いこなすのは少し難しい

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

Dreamweaver バージョン 5.7 へのログインをシミュレートします。バックグラウンド検証コードが削除されました。なぜログインできないのかわかりません (ログイン成功を促すメッセージが表示されますが、ログイン アドレスに戻ります)

<?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);?>


ログイン成功後。 、 http://localhost/dedecms/dede/article_add.php?channelid=1 にジャンプします


ディスカッション (解決策) に返信します

は、あなたが理解していないことを意味します。専門家が来て学習するのを待ちます

スヌーピーフレームワークを使用することをお勧めします
ググってみてください。

ジャンプしたいですか?ジャンプに従ってください
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

DreamWeaver には統一されていない Cookie がいくつかあるはずですよね。

元の投稿者のコードを読んで、前に作ったものがここで間違っていたことを思い出しました
前に一緒に書きました。
[コード]
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
[/code]

ジャンプしますか?ジャンプに従ってください

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

この行を追加しても機能しません。そうであれば、コードを投稿してください

元の投稿者のコードを確認しました。以前作ったものがここで間違っていたことを思い出しました

前に、一緒に書きました。
[code]
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
[/code]

完全なコードを投稿してください。動作するか確認してください

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;  }     ?> 

動作するか試してみてください

PHP code?1234567891011121314151617function getHtml($url,$tmpFile,$postData) { ,CURLOPT_HEADER,0);
いいえ、それですは使えません

スヌーピーはとても使いやすいです

ジャンプしたい場合は、ジャンプに従ってください

誰もやり方を知りません

を使用することをお勧めしますフレームワーク snoopy


フレームワーク snoopy を使用することをお勧めします


このフレームワークは機能しません、信じられない場合は、試してみてください

コードに従うのをお手伝いします、それはファイル内にあります

if($cuserLogin- >getUserID()==-1)

{

header("location:login.php?gotopage=".urlencode($dedeNowurl));
exit() }
ここで調整します。ログインに成功するとメッセージが表示されます。uid はどこですか?
コードをたどるのをお手伝いします。それは Dreamweaver/dede/config.php のファイルにあります

if($cuserLogin->getUserID()=) =-1)
{
header("location:login.php?gotopage=".urlencode($dedeNowurl));

exit();

}
ログインに成功すると、 uid がどこにあるか見てください...これはログインが成功したことを示すメッセージなので、そこにあるはずです

14 階の jsbba からの返信を引用すると、コードに従うのを手伝います。これは Dreamweaver にあります。 /dede/config.php ファイル

if($cuserLogin-> ;getUserID()==-1)
{
header("location:login.php?gotopage=".urlencode($dedeNowurl));

exit( );

}
ここで調整して、次のようにログインしてください...
あはは、-1 がありますが、この段落を削除してもログインできます

15 階の dz215136304 からの返信を引用: jsbba からの返信を引用14 階: コードをたどるのをお手伝いします。コードは Dreamweaver/dede/config.php ファイルにあります

if($cuserLogin->getUserID()==-1)
{
header("location: login.php?gotopage=".urlencode($dedeNowurl));

……


同じことは機能しません。プロンプト

DedeCMS 提示信息!对不起,你没有权限执行此操作!点击此返回上一页>>



ログイン時にパケットをキャプチャします。次に、リファラーとユーザーエージェントを含むすべての情報をヘッダーに保存します。 。次に、curl を使用してこのようなごちゃ混ぜパッケージを送信し、成功するかどうかを確認します

ログイン時にパケットをキャプチャします。次に、リファラーとユーザーエージェントを含むすべての情報をヘッダーに保存します。 。次に、curl を使用してこのようなごちゃ混ぜパッケージを送信して、成功するかどうかを確認します

ああ、元の投稿者のコードを確認しましたが、問題はありません。一般に、検証されていない Web サイトにはログインをシミュレートできるものがあるかもしれません。特別な設定や暗号化の検証を行う場合は、ログイン ファイルのコードを詳しく確認してください

ああ、元の投稿者のコードを確認しましたが、問題はありません。一般に、検証されていない Web サイトはログインをシミュレートできる可能性があります。または、暗号化の検証については、ログイン ファイルのコードを詳しく確認できます
ありがとうございます

header("location:login.php?gotopage=".urlencode($dedeNowurl));

dede のログイン クラスには制限があります

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