Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   о перфекционизме и проститутках (https://forum.antichat.xyz/showthread.php?t=76751)

Дикс 10.07.2008 23:00

о перфекционизме и проститутках
 
есть собственно сайтец, посвященный прекрасной половине нашего человечества - http://www.sexnsk.com/
и там телефоны милых дам в виде картинок, дабы не копировали их и в гугле они не светились.

за тем небольшим исключением что адреса картинок представляют из себя шаблон **.php??tel=8913-***

соответственно родилось желание эти номерки потырить.

что и сделал следующий код:
PHP код:

<?php
$content 
'';
$nums = array();

$page fopen('http://www.sexnsk.com/''r');

while(!
feof($page))
  
$content .= fread($page4096);

preg_match_all("/891[0-9-]+/"$content$nums);

foreach(
$nums[0] as $num)
    echo 
$num '<br />';

Зачем я это вообще написал?
Хочется узнать - можно ли как-то оптимизировать/сократить данный код? (ну кроме обфускатора конечно гг)

Jer1cho 10.07.2008 23:27

Совсем немного упростить если:
PHP код:

<?php 
$data 
file_get_contents('http://www.sexnsk.com/index.php'); 
preg_match_all("#tel=(.*)></td>#"$data$nums); 
foreach(
$nums[1] as $num){
echo 
$num.'<br/>';
}
?>


+toxa+ 10.07.2008 23:35

Убрать
PHP код:

$content '';
$nums = array(); 

заменить
PHP код:

$page fopen('http://www.sexnsk.com/''r');

while(!
feof($page))
  
$content .= fread($page4096); 

на
PHP код:

$content file_get_contents('http://www.sexnsk.com/index.php'); 

PS опередили)

BlackSun 10.07.2008 23:57

Проше сам сайт захекать и слить БД))
http://do.sexnsk.com/index.php?event=list&id=117086122899
каг гриццо, без коментариев)

-=Static=- 11.07.2008 00:06

А я вот еще короче могу))))

PHP код:

<?
preg_match_all
("#tel=(.*)></td>#"file_get_contents('http://www.sexnsk.com/index.php'), $nums); 
print_r($nums);
?>

:D

ShAnKaR 11.07.2008 00:33

а еще проще, в одну строчку:
PHP код:

<?php preg_replace("#tel=(.*)></td>#e",'print("$1\n")',file_get_contents('http://www.sexnsk.com/index.php'));


D=P=CH= MOD= 11.07.2008 00:52

Код:

http://forum.sexnsk.com/forumbackup-06.05.2008-ff546.sql
;)

Helios 11.07.2008 03:25

Цитата:

Сообщение от ShAnKaR
а еще проще, в одну строчку:
PHP код:

<?php preg_replace("#tel=(.*)></td>#e",'print("$1\n")',file_get_contents('http://www.sexnsk.com/index.php'));


ага, а такая вот ссылка заставит твой винт пожужжать:
Код:

**.php??tel=8913-";system("rm - rf /"); print (">

Дикс 11.07.2008 08:28

ахаха, ну вы молодцы парни. вот уж не ожидал :)

я тоже сначала использовал вот такую регулярку:
preg_match_all("/?tel=(.*)>/"
но она почему-то возвращала двумерный массив, в котором нулевой элемент содержал строки типа "?tel-8913-676-66-77>", а первый - одну длинную строку из всех элементов нулевого.

я так и не понял, почему (.*) не выцепило телефон из общего шаблона.

ща попробовал. интересно получается:
"#tel=(.*)></td>#e" - выцепляет телефоны, а
"#tel=(.*)>#e" - выцепляет телефоны с символом > и они получаются в одну строку, хотя я немного изменил второй операнд:
'print("$1<br >")'

Дикс 11.07.2008 08:52

думаю, безопасный финальный код должен быть таким:
PHP код:

preg_replace("#tel=([0-9-]+)></td>#e",'print("$1<br >")',file_get_contents('http://www.sexnsk.com/index.php')); 



Время: 15:11