cPanel に自動的にログインしてから、ユーザーを Awstats ページにリダイレクトしようとしています。しかし、私はいくつかの問題に遭遇しています。私が見つけた唯一の作業方法はこれです:
<form method="post" id="login-form" action="http://domain.com:2082/login">
<input type="hidden" name="login_theme" id="login_theme" value="cpanel">
<input type="hidden" name="goto_uri" id="goto_uri" value="awstats.pl?config=euqueroinvestir.com&lang=pt">
<input type="hidden" name="user" id="user" value="myuser">
<input type="hidden" name="pass" id="pass" value="mypass">
</form>
<script>window.onload = function() { document.forms["login-form"].submit(); }</script>
しかし、ご覧のとおり、ユーザーがソースコードを見ると、パスワードは平文で明示されます。私はそれをすることはできません。だから私はcUrlを試しましたが、今はヘッダー、クッキーなどに問題があります。
これは私の最後の試みです:
$url = "http://domain.com:2082/login";
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_VERBOSE, 1);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POSTFIELDS, "user=myuser&pass=mypass");
$result = curl_exec($curl);
$header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
$header = substr($result, 0, $header_size);
$body = substr($result, $header_size);
curl_close($curl);
$header = str_replace("\r", '', $header);
$header = explode("\n", $header);
foreach ($header as $h) {
header ($h);
}
$parts = explode( 'URL=', $result);
$session_parts = explode( '/frontend/', $parts[1]);
$token = $session_parts[0];
header('Location: http://domain.com:2082'.$token.'/awstats.pl?config=domain.com&ssl=&lang=pt');
これで、セキュリティ トークンを取得できます。foreach($header as $h) ループは、ヘッダーと Cookie を cUrl クライアントからユーザー ブラウザーに設定しようとしています。
すべての助けをいただければ幸いです。はい、私はグーグルでたくさん検索しました。