
16.01.2008, 02:03
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
Написал функцию выдирающую запись из одной колонки (passwd) и скрипт, который записывает пассы в файл:
PHP код:
function get_pass($id)
{
global $db_table;
$query = "SELECT `passwd` from ".$db_table." WHERE `passwd` IS NOT NULL limit ".$id.",1";
$r=mysql_query($query);
$get_pass=mysql_fetch_array($r);
$pass=$get_pass[0];
if ($pass) return $pass;
else return false;
}
скрипт:
PHP код:
<?
include('conf.php');
include('function.php'); //содержит функцию, та что выше
ignore_user_abort(1);
set_time_limit(0);
$fd = fopen("./pass/dict.txt", "w");
$id = 0;
$pass =1;
while($pass)
{
$pass=get_pass($id);
fputs($fd, $pass."\r\n");
$id++;
sleep(0.1);
}
$id--;
echo "в файл выгружено: ".$id." паролей <br>";
fclose($fd);
?>
Вообщем дампится только 4348 паролей (хотя их в базе больше) думал трабла в set_time_limit (установлена хостером и изм. нельзя) поэтому пробовал sleep(0.1) ставить - всё равно паролей выгружается ровно 4348. В чём трабла может быть?
ЗЫ подозреваю, что надо экранировать спецсимволы, которые могут встретиться в пассе так?
|
|
|