Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

10.09.2008, 15:52
|
|
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме: 9098076
Репутация:
4303
|
|
а чё вебшеллы не позвляют создать файл и потом скопировать в него содежримое шелла? или просто с локалки залить?
|
|
|

10.09.2008, 18:43
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Ситуация - запускаем на сервере PHP бот джаббера/icq/etc (ignore_user_abort=1 и time_limit=0) Можно ли реализовать, чтобы отправляя пост на этот скрипт бот отправлял сообщение.
То есть - бот не переподключается, а забирая данные переданные из формы отправляет сообщение
|
|
|

10.09.2008, 18:53
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме: 5321514
Репутация:
3313
|
|
Сообщение от Gifts
Ситуация - запускаем на сервере PHP бот джаббера/icq/etc (ignore_user_abort=1 и time_limit=0) Можно ли реализовать, чтобы отправляя пост на этот скрипт бот отправлял сообщение.
То есть - бот не переподключается, а забирая данные переданные из формы отправляет сообщение
Чеза тупость =)))
PHP код:
if($_POST['message'] != '') send($_POST['message'];
Вообще все данные авторизации записывай в файл, а потом их читай, тогда не будет повторного переподключения.
UPD: Вообще php - язык пошаговый(Т.Е выполняется пом ере работы скрипта. Тут нельзя зациклить программу как в ассемблере, c++ и других языках).
Последний раз редактировалось ChaaK; 10.09.2008 в 20:12..
|
|
|

10.09.2008, 19:43
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
ChaaK, Ммм, крутой крутой. Банальный пример:
PHP код:
@set_time_limit(0);
@ini_set("max_execution_time", 0);
@ignore_user_abort(1);
switch ($_GET['cmd'])
{
case 'start':
$f=fsockopen('ya.ru',80);
$status=stream_get_meta_data($f);
while (!$status['eof'])
{
sleep(1);
}
break;
case 'send':
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: ya.ru\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($f, $out);
while (!feof($f))
{
echo fgets($f, 128);
}
fclose($f);
break;
}
Если запустить скрипт с параметром ?cmd=start он открывает сокетное соединение и не разорвет его. (проверить можно netstat -b) А теперь через это соединение хочется получить все таки страницу. Как реализовать?
UPD: Вообще php - язык пошаговый(Т.Е выполняется пом ере работы скрипта. Тут нельзя зациклить программу как в ассемблере, c++ и других языках).
Зациклить-то можно, пример из этого поста - доказательство. Соединение с яндексом будет висеть достаточно долго, а если соединение между двумя своими серверами - то и практически вечно.
Последний раз редактировалось Gifts; 10.09.2008 в 20:29..
|
|
|

10.09.2008, 21:31
|
|
Участник форума
Регистрация: 01.03.2006
Сообщений: 169
Провел на форуме: 519496
Репутация:
78
|
|
Опять вопросик, то был по переименовке а теперь по удалению...
Та же беда есть файл tags.php в котором нахоядтся ссылки вида
<a href="tag_descr_descr.php">Возможности скрипта</a>,
<a href="tag_descr_history.php">История развития скрипта</a>,
Написал вот скрипт удаления ссылки по её имени , но использовал функцию strpos, и теперь если вводится вместо точного имени ссылки к примеру буква "н" то удаляются все ссылки имеющие букву н, какую другую функцию помжно использовать для нахождения совпадения в строке...
PHP код:
<?php
if (isset($_POST['butdel']))
{
$filename=trim($_POST['istagdel']);
$filetags=file('tags.php');
foreach ($filetags as $tag)
{
$pos = strpos($tag, $filename);
if($pos===FALSE) $newfilename[]=$tag;
}
$nameforwr=implode("",$newfilename);
$goodtag = fopen("tags.php", "w");
fwrite($goodtag, $nameforwr);
fclose($goodtag);
echo "<meta http-equiv=Refresh content='0';>";
}
?>
|
|
|

10.09.2008, 22:02
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Zircool, попробуй так
PHP код:
if (isset($_POST['butdel']))
{
$filename=trim($_POST['istagdel']);
$filetags=preg_replace('#<a href="[^"]*?'.preg_quote($filename,'#').'[^"]*">[^\n]*\n#','',file_get_contents('tags.php'));
$goodtag = fopen("tags.php", "w");
fwrite($goodtag, $filetags);
fclose($goodtag);
echo "<meta http-equiv=Refresh content='0';>";
}
|
|
|

11.09.2008, 09:18
|
|
Участник форума
Регистрация: 01.08.2008
Сообщений: 239
Провел на форуме: 448388
Репутация:
31
|
|
Мужики, подскажите где почитать про создание С Нуля ФОрм (Логин / регистрация) их связка с БД?
|
|
|

11.09.2008, 09:45
|
|
Участник форума
Регистрация: 20.11.2006
Сообщений: 172
Провел на форуме: 539954
Репутация:
106
|
|
Профессиональное РНР программирование, 2-е издание.
Ссылки на данную книгу есть в этой:
http://forum.antichat.ru/thread8721.html
теме в первом посте. А вообще почти в каждой книге есть что-то про данный вопрос.
|
|
|

11.09.2008, 10:14
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
UPD: Вообще php - язык пошаговый(Т.Е выполняется пом ере работы скрипта. Тут нельзя зациклить программу как в ассемблере, c++ и других языках)
Чо? о_О
Открой для себя for, do while, foreach...
|
|
|

11.09.2008, 11:29
|
|
Участник форума
Регистрация: 01.03.2006
Сообщений: 169
Провел на форуме: 519496
Репутация:
78
|
|
Gifts, нет не работает,но спасибо за идею, я сделал немножко по ругому и заработало... если кому интересно
PHP код:
<?
if (isset($_POST['butdel']))
{
$filename=trim($_POST['istagdel']);
$filetags=file('tags.php');
$filetags=preg_replace('#<a href=\"(.*?)\">'. $filename.'</a>,#is',null,$filetags);
foreach($filetags as $filetag )
{
if(strlen($filetag)>8) $files[]=$filetag;// это что бы пустые строки не записывались
}
$files=implode("",$files);
$goodtag = fopen("tags.php", "w");
fwrite($goodtag, $files);
fclose($goodtag);
?>
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|