[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Byrger

    Byrger Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Помогите преобразовать дату из RSS Wed, 11 Nov 2009 14:46:32 +0000
    в вид 11.11.2009
     
  2. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    Byrger
    date("m.d.y");


    ________
    0ph.ru
     
    #12602 L I G A, 11 Nov 2009
    Last edited: 10 Dec 2009
  3. Byrger

    Byrger Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    эм....
    date("m.d.y","Wed, 11 Nov 2009 14:46:32 +0000");
    error
     
  4. Epic wave

    Epic wave Member

    Joined:
    15 Mar 2009
    Messages:
    105
    Likes Received:
    72
    Reputations:
    -1
    Сначала необходимо функцией mktime() получить время в секундах в формате UNIX Timestamp, а потом уже эти секунды передавать в функцию getdate(). (с)
     
  5. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    я навел пример как вывести дату ,в том формате


    ________
    0ph.ru
     
    #12605 L I G A, 11 Nov 2009
    Last edited: 10 Dec 2009
  6. Byrger

    Byrger Elder - Старейшина

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Я это и без вашей помощи прекрасно понимаю.
    А прощу помочь по моей проблеме а не по азам функции date()
     
  7. PaCo

    PaCo Elder - Старейшина

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    2 Byrger ну как то так:
    echo date("m.d.y",strtotime("Wed, 11 Nov 2009 14:46:32 +0000"));
     
    1 person likes this.
  8. Vlad&slav

    Vlad&slav Member

    Joined:
    1 Jan 2009
    Messages:
    207
    Likes Received:
    41
    Reputations:
    9
    Как посредством php прочекать у пределёного адреса порт, тоесть просто проверить можно ли подключиться, порт не 80 а типа 23,RDP, и чёнть вроде того. Если ешё можно то чтобы был таймаут. Зарание благодарю.
     
  9. gisTy

    gisTy Elder - Старейшина

    Joined:
    24 May 2008
    Messages:
    432
    Likes Received:
    160
    Reputations:
    27
    http://www.php.su/articles/?cat=examples&page=065
     
  10. phpdreamer

    phpdreamer Member

    Joined:
    26 Jul 2009
    Messages:
    522
    Likes Received:
    86
    Reputations:
    19
    Vlad&slav, вот сканер портов на пхп

    PHP:
    <?php
    error_reporting 
    (E_ALL); // вывод сообщений для всех ошибок

    if(empty($_POST["ip"]))die ('<html> 
    <head>
    <title>Online Port Scanner</title>
    </head>
    <body bgcolor="Black">
    <div align="center"><font face="Tahoma" color="Gray">Online Port Scanner</font></div><br><br>
    <form action="p.php" method="POST">
    <font face="Tahoma" color="Silver"><div align="center">IP-address/Host&nbsp;<input maxlength="15" size="13" type="Text" name="ip" value="">
    <br><input type="Submit" value="Scan">
    </div>
    </font>
    </form>
    </body>
    </html>'
    ); //форма ввода


    $portz = array("20","21","23","25","39","43","69","79","80","88","107","109","110",
    "111","137","138","139","143","161","464","512","513","514","530",
    "544","636","749","1433","1434");

    // в данном массиве будут храниться номера портов, которые необходимо сканировать.
    // это сделано для эффективного использования ресурсов сервера, зачастую провайдер
    // выставляет небольшой таймаут для php скриптов и получится что сканируя все
    // 65тысяч портов мы поступаем очень нерационально так как реально полезные из них
    // всего пару процентов ;)

    $descr = array("FTP data""FTP control""Telnet","Simple Mail Transfer Protocol",
    "rlp: Resource Location Protocol""whois""tftp","finger","http",
    "kerberos","rtelnet","pop2","pop3","sunrpc:SUN Remote Procedure Call",
    "Netbios name service","Netbios name service""Netbios datagram service",
    "imap4","snmp","kpasswd: kerberos v5","Remote Process Execution",
    "remote login","cmd shell","courier rpc","kshell: Kerberos remote shell",
    "ldaps","LDAP over TLS/SSL","kerberos-adm","ms-sql-s: Microsoft-SQL-Server",
    "ms-sql-m: Microsoft-SQL-Monitor");

    // а в этом массиве задаем описания для сервисов, обслуживающих на соответствующих портах
    // главное чтобы смещение в массиве порта соответствовало смещению в массиве его описания
    // то есть если смещение (индекс) порта с номером 23 == 2 (считаем с 0), значит описание
    // для этого порта должно быть расположено так же с индексом 2 в массиве описаний.



    $log_path "pscan.log";
    $who $HTTP_SERVER_VARS['REMOTE_ADDR'];
    // объявляем переменные для лога. как это продвинутый сканер и без лога? ;)
    // в лог будем писать все, даже адрес того кто сканит. мы же любопытные ;)

    $err_path "pscan.err";

    // определяем колличество заданых портов-описаний, далее нам это пригодиться в циклах

    $cnt=0//счетчик

    $timeout 10// таймаут для инициализации сокета, максимум - 15

    if($timeout>15// а тут можете изменить максимум 8)
    $timeout=15;
    $chost strip_tags($_POST['ip']); //загоняем сюда значение параметра hostname,
    if($chost==""){ // если запустили наш скрипт без параметра $hostname - громко ругаемся
    echo "необходимо задать ip-адрес или имя хоста!";
    exit;
    }

    $ch $chost[0];
    $new_chost="";

    @
    $LOGF fopen($log_path"a");
    if(
    $LOGF){ // если файл открыт успешно
    flock($LOGF2);
    fwrite($LOGF"================================================================n");
    if( 
    $ITS_FUCKING_LAMOZ == )
    fwrite($LOGF"[!!!] ".date('H:i:s Y-m-d')." :>>> ".$HTTP_SERVER_VARS['REMOTE_ADDR']." scaned $chostn");
    else
    fwrite($LOGFdate('H:i:s Y-m-d')." :>>> ".$HTTP_SERVER_VARS['REMOTE_ADDR']." scaned $chostn");
    fwrite($LOGF"================================================================n");
    }
    // ну а это шапка лога, тоесть дата, айпишник, сканируемый хост...

    else{ // если возникла ошибка при логировании - пишем в файл ошибок

    @$ERRF fopen($err_path"a");

    if(
    $ERRF){
    flock($ERRF2);
    fwrite($ERF"[date('H:i:s Y-m-d')] невозможно залогировать $whon");
    flock($ERRF3);
    rewind($ERRF);
    fclose($ERRF);
    }
    }
    // 

    $port 0;
    $pcnt count($portz);
    $dcnt count($descr);
    $ccnt 0;
    $errno 0;
    $errstr "no errorZ";

    if( (
    $pcnt==0) || ($dcnt==0) ){
    echo 
    "список портов не пустой. всем на выход.<br>n"
    exit;
    }

    if(
    $pcnt!=$dcnt){
    if(
    $pcnt>$dcnt)
    $ccnt=$dcnt;
    else
    $ccnt=$pcnt
    }
    else
    $ccnt=$pcnt;
    // если количество портов и количество описаний разные - обрезаем до равного


    echo "сканируем ".$chost.".....<br><table>";

    echo 
    str_repeat(" "256); 
    for(
    $i=0$i<$ccnt$i++){
    if(!
    $timeout)
    @
    $usenet_handle fsockopen($chost, (int)$portz[$i]);
    else
    @
    $usenet_handle fsockopen($chost, (int)$portz[$i], &$errno, &$errstr$timeout);

    if(!
    $usenet_handle)

    printf('

    <div align="center">refused</div></td>
    <div align="center">%s</div></td>
    <div align="center">%s</div></td>
    <div align="center">%s</div></td>
    <div align="center">%s</div></td>
    </tr>' 
    $chost$portz[$i], $descr[$i], $errstr
    );
    else{
    fwrite($LOGF$chost."t".$portz[$i]."t".$descr[$i]."t".$errstr."n");
    printf('

    <div align="center">соединен</div></td>
    <div align="center">%s</div></td>
    <div align="center">%s</div></td>
    <div align="center">%s</div></td>
    <div align="center">%s</div></td>
    </tr>' 
    $chost$portz[$i], $descr[$i], "no err0rZ"
    );
    // end else

    flush();

    // end for

    fwrite($LOGF"nn");
    flock($LOGF3);
    rewind($LOGF);
    fclose($LOGF);

    unset(
    $chost);
    unset(
    $new_chost);
    unset(
    $timeout);
    unset(
    $port);
    unset(
    $pcnt);
    unset(
    $dcnt);
    unset(
    $ccnt);
    unset(
    $errno);
    unset(
    $errstr);
    ?>
    но на перле лучше:
    Code:
    #!/usr/bin/perl -w
     
     # PortMap by nerezus
     # The Artistic License
     # ICQ 547097
     #
     # A tool for scan ip range
     
     use strict;
     use Socket;
     
     if (@ARGV<2) {print "Usage: portmap.pl from_host(ip) to_host(ip) [portfile.txt(ports via [space])]\n";exit(0);}
     my $fremote=shift||'127.0.0.1';
     my $tremote=shift||'127.0.0.1';
     my $portfile=shift;
     my $ports;
     if ($portfile) {open (PF, $portfile); $ports=<PF>; close(PF);}
        else {$ports="21 80";}
     my @ports=split(/ /, $ports);
     my @flist=split(/\./, $fremote);
     my @tlist=split(/\./, $tremote);
     my $fip=$flist[0]*256*256*256+$flist[1]*256*256+$flist[2]*256+$flist[3];
     my $tip=$tlist[0]*256*256*256+$tlist[1]*256*256+$tlist[2]*256+$tlist[3];
     
     for (my $i=$fip; $i<=$tip; $i++) {
     	my $tmp=$i;
     	my $d1=int($tmp / (256*256*256)); $tmp=$tmp-$d1*(256*256*256);
     	my $d2=int($tmp / (256*256)); $tmp=$tmp-$d2*(256*256);
     	my $d3=int($tmp / 256); $tmp=$tmp-$d3*256;
     	my $d4=$tmp;
     	my $ip="$d1.$d2.$d3.$d4";
     	my $host=gethostbyname($ip);
     	foreach my $port (@ports){
     			my $dest=sockaddr_in($port, $host);
     			socket (S, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
     			if (connect(S, $dest)) {print "[".scalar(localtime)."] $ip:$port OK\n";}
     #			   else {print "[".scalar(localtime)."] $ip:$port ERR\n";}
     			close S;
     			}
     }
     
  11. Lucky0929

    Lucky0929 Banned

    Joined:
    3 Oct 2009
    Messages:
    3
    Likes Received:
    16
    Reputations:
    0
    дам 30$ максимум 40$ за скрипт для контакта
    добавления в акки которые в текстовом доке, приложения ( желательно с антикапчей)
     
  12. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Такой вопрос возник, сижу уже больше часа, пытаюсь впоймать на вкантакте капчу при авторизации, но что-то немогу увидеть сообщение о вводе капчи, хотя оно есть.
    Вот функция для авторизации:

    PHP:
    function vk_login($login,$pass,$proxy='')
    {
    $login urlencode($login);
    $pass urlencode($pass);


    $ch curl_init('http://login.vk.com/?act=login');
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
    curl_setopt($chCURLOPT_TIMEOUT10);
    curl_setopt($chCURLOPT_REFERER'http://vkontakte.ru/');

    if(!empty(
    $proxy))
    curl_setopt($chCURLOPT_PROXY$proxy);

    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    curl_setopt($chCURLOPT_POSTFIELDS"email=$login&pass=$pass&expire=&vk=");
    $res curl_exec($ch);

    if(
    preg_match('#name=\'s\' id=\'s\' value=\'(.*)\'#',$res,$s))
        {
            echo 
    urldecode($login)." Успешно авторизован.\r\n";
            return 
    $s[1];
        }
    else 
    return 
    false;
    }
     
  13. Alpha][

    Alpha][ Elder - Старейшина

    Joined:
    19 Oct 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    при работе с функцией getimagesize из GD , если файл к которому функция пытается получить доступ не существует , генерируется предупреждение . Как сделать так что бы это предупреждение не показывалось пользователю ?
     
  14. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    error_reporting(0);
    или or die('mess');
     
  15. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    ini_set("display_errors","0");
     
  16. Alpha][

    Alpha][ Elder - Старейшина

    Joined:
    19 Oct 2007
    Messages:
    75
    Likes Received:
    5
    Reputations:
    0
    это , я так понимаю, глобально ошибки отключит , а можно как-нибудь конкретно эту ошибку отключить ?
     
  17. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    PHP:
    <?php 
    if (getimagesize('123.jpg')) echo "Ok";
    else echo 
    "Xatcker detected";
    ?>
     
  18. Deani

    Deani New Member

    Joined:
    9 Nov 2009
    Messages:
    49
    Likes Received:
    1
    Reputations:
    0
    Alpha][, если у тебя выскакивает NOTICE то попробуй его отключить в php.ini таким образом error_reporting = E_ALL & ~E_NOTICE
     
  19. prostopovelitel

    Joined:
    28 Aug 2009
    Messages:
    17
    Likes Received:
    6
    Reputations:
    -2
    Какой то хацкер заспамил весь вконтакт ссылкой на какой то трой. Чем вскрыть трой или как его переделать под себя???

    или хотябы узнать куда он шлёт инфу
     
  20. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    Alpha][ поставь перед функцией @
     
    1 person likes this.
Thread Status:
Not open for further replies.