HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 10.09.2008, 18:53
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме:
5321514

Репутация: 3313


Отправить сообщение для Chaak с помощью ICQ
По умолчанию

Цитата:
Сообщение от 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..
 
Ответить с цитированием

  #2  
Старый 10.09.2008, 19:43
Gifts
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($f128);
        }
    
fclose($f);
    break;

Если запустить скрипт с параметром ?cmd=start он открывает сокетное соединение и не разорвет его. (проверить можно netstat -b) А теперь через это соединение хочется получить все таки страницу. Как реализовать?
Цитата:
UPD: Вообще php - язык пошаговый(Т.Е выполняется пом ере работы скрипта. Тут нельзя зациклить программу как в ассемблере, c++ и других языках).
Зациклить-то можно, пример из этого поста - доказательство. Соединение с яндексом будет висеть достаточно долго, а если соединение между двумя своими серверами - то и практически вечно.

Последний раз редактировалось Gifts; 10.09.2008 в 20:29..
 
Ответить с цитированием

  #3  
Старый 10.09.2008, 21:31
Zircool
Участник форума
Регистрация: 01.03.2006
Сообщений: 169
Провел на форуме:
519496

Репутация: 78
Отправить сообщение для Zircool с помощью ICQ
По умолчанию

Опять вопросик, то был по переименовке а теперь по удалению...
Та же беда есть файл 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';>";


    }
?>
 
Ответить с цитированием

  #4  
Старый 10.09.2008, 22:02
Gifts
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';>";

 
Ответить с цитированием

  #5  
Старый 11.09.2008, 09:18
OnArs
Участник форума
Регистрация: 01.08.2008
Сообщений: 239
Провел на форуме:
448388

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

Мужики, подскажите где почитать про создание С Нуля ФОрм (Логин / регистрация) их связка с БД?
 
Ответить с цитированием

  #6  
Старый 11.09.2008, 09:45
++Norton++
Участник форума
Регистрация: 20.11.2006
Сообщений: 172
Провел на форуме:
539954

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

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

  #7  
Старый 11.09.2008, 10:14
nerezus
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

Цитата:
UPD: Вообще php - язык пошаговый(Т.Е выполняется пом ере работы скрипта. Тут нельзя зациклить программу как в ассемблере, c++ и других языках)
Чо? о_О

Открой для себя for, do while, foreach...
 
Ответить с цитированием

  #8  
Старый 11.09.2008, 11:29
Zircool
Участник форума
Регистрация: 01.03.2006
Сообщений: 169
Провел на форуме:
519496

Репутация: 78
Отправить сообщение для Zircool с помощью ICQ
По умолчанию

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);
?>
 
Ответить с цитированием

  #9  
Старый 11.09.2008, 12:01
Zircool
Участник форума
Регистрация: 01.03.2006
Сообщений: 169
Провел на форуме:
519496

Репутация: 78
Отправить сообщение для Zircool с помощью ICQ
По умолчанию

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

Цитата:
Warning: preg_match() expects parameter 2 to be string, array given in Z:\home\localhost\www\cms\operate_tags.php on line 97
код такой
PHP код:
$filename=trim($_POST['istagdel']);
$filetags=file('tags.php');
 
preg_match('#<a href=\"(.*?)\">'.$filename.'</a>,#is'$filetags,$res);
 echo 
$res[1]; 
 
Ответить с цитированием

  #10  
Старый 11.09.2008, 12:16
159932
Постоянный
Регистрация: 28.09.2007
Сообщений: 820
Провел на форуме:
6722038

Репутация: 1385


По умолчанию

$filetags должен быть стрингом, а у тебя массив ..
там же написано ! англиским по белому !
==================
если я правильно понял что тебе нужно, то вместо ф-ии file используй file_get_contents

Последний раз редактировалось 159932; 11.09.2008 в 12:20..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ