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

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

Thread Status:
Not open for further replies.
  1. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    PHP:
    <?php
        
        $link 
    'http://tvoi-server.com/ssylka.ini';
        
    $js 'http://tvoi-server.com/js.js';
        
        if (
    in_array(ini_get('allow_url_fopen'), array(1'yes''on''true')))
        {
            echo(
    file_get_contents($link));
        }
        else
        {
            if ((
    function_exists('curl_init')) && (!in_array('curl_init'explode(' 'ini_get('disable_functions')))))
            {
                
    $c curl_init();
                
    curl_setopt($cCURLOPT_URL$link);
                
    curl_setopt($cCURLOPT_RETURNTRANSFER1);
                echo(
    curl_exec($c));
            }
            else
            {
                echo(
    '<script src="'.$js.'"></script>');
            }
        }
        
    ?>
     
  2. shtepsel

    shtepsel Banned

    Joined:
    20 Nov 2012
    Messages:
    1
    Likes Received:
    2
    Reputations:
    1
    |qbz|, Это скрипт куда и для чего?
    Проверка на allow_url_fopen включен, или выключен?
     
  3. MaxFast

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

    Joined:
    12 Oct 2011
    Messages:
    575
    Likes Received:
    149
    Reputations:
    94
    Вопрос такой, как осуществить запрет доступа на страницу по рефереру.

    Допустим есть страница test.php, при обращении с любого места должно перенаправлять на index.php.
    А вот если перейти на test2.php, и оттуда редирект на test.php.

    То есть без перехода на test2.php, нельзя попасть на test.php

    Были попытки сделать данную функцию, но попытки тщетны.
     
  4. mironich

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

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    MaxFast, в сесиию писать, при попаданию на нужную стр.
     
  5. phptomal

    phptomal Banned

    Joined:
    2 Feb 2012
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Где можно научиться php?
    Какие самые хорошие уроки?
    Спасибо!
     
  6. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    тут http://www.php.su/ и тут http://goo.gl/ydXb1
     
    #21266 De-visible, 22 Nov 2012
    Last edited: 22 Nov 2012
  7. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,035
    Likes Received:
    534
    Reputations:
    935
    Вообщем столкнулся с проблемой, нудна функция которая заменяет последний символ из строки на следующий, если последний символ достиг конца диапазона символов, то предпоследний символ заменяется следующим символом из диапазона, а последний символа возвращается к началу диапазона, диапазон символов [a-z][0-9][A-Z].
    Сделал такую функцию:
    PHP:
    function plus($word) {
        
    $last_chr ord(substr($wordstrlen($word)-11));
        
    $last_wrd substr($word0strlen($word)-1);
        if (
    $last_chr >= 48 and $last_chr <= 57) {
            
    # [0-9]
            
    if($last_chr == 57) {
                
    $new_word plus($last_wrd).chr(65);
            } else {
                
    $new_word $last_wrd.chr($last_chr+1);
            }
        } elseif (
    $last_chr >= 65 and $last_chr <= 90) {
            
    # [A-Z]
            
    if($last_chr == 90) {
                
    $new_word plus($last_wrd).chr(97);
            } else {
                
    $new_word $last_wrd.chr($last_chr+1);
            }
        } elseif (
    $last_chr >= 97 and $last_chr <= 122) {
            
    # [a-z]
            
    if($last_chr == 122) {
                
    $new_word plus($last_wrd).chr(48);
            } else {
                
    $new_word $last_wrd.chr($last_chr+1);
            }
        } else {
            
    $new_word chr(97);
        }
        return 
    $new_word;
    }
    Но вышло вот так:
    Code:
    b
    c
    d
    e
    f
    g
    h
    i
    j
    k
    l
    m
    n
    o
    p
    q
    r
    s
    t
    u
    v
    w
    x
    y
    z
    a0
    a1
    a2
    a3
    a4
    a5
    a6
    a7
    a8
    a9
    bA
    bB
    bC
    bD
    bE
    bF
    bG
    bH
    bI
    bJ
    bK
    bL
    bM
    bN
    bO
    bP
    bQ
    bR
    bS
    bT
    bU
    bV
    bW
    bX
    bY
    bZ
    ca
    cb
    cc
    cd
    ce
    cf
    cg
    ch
    ci
    cj
    ck
    cl
    cm
    cn
    co
    cp
    cq
    cr
    cs
    ct
    cu
    cv
    cw
    cx
    cy
    cz
    d0
    d1
    d2
    d3
    d4
    d5
    d6
    d7
    d8
    d9
    eA
    eB
    eC
    А нужно так:
    Code:
    a
    b
    c
    d
    e
    ...
    x
    y
    z
    0
    1
    2
    ...
    8
    9
    A
    B
    C
    ...
    X
    Y
    X
    aa
    ab
    ac
    ...
    ax
    ay
    az
    a0
    a1
    a2
    ...
    a8
    a9
    aA
    aB
    aC
    ..
    aX
    aY
    aZ
    ba
    bb
    bc
    ...
    bx
    by
    bz
    b0
    b1
    b2
    ...
    b8
    b9
    bA
    bB
    bC
    ...
    bX
    bY
    bZ
    ...
    zX
    zY
    zZ
    aaa
    aab
    aac
    ...
    etc
    
     
    _________________________
    #21267 Expl0ited, 23 Nov 2012
    Last edited: 23 Nov 2012
  8. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,035
    Likes Received:
    534
    Reputations:
    935
    Сам спросил, сам ответил :eek:
    PHP:
    function plus($word) {
        
    $last_chr substr($wordstrlen($word)-11);
        
    $last_wrd substr($word0strlen($word)-1);
        switch(
    ord($last_chr)) {
            case 
    122$last_chr chr(48); break;
            case 
    57:  $last_chr chr(65); break;
            case 
    90:  
                return 
    $last_wrd != '' plus($last_wrd).chr(97) : str_repeat(chr(97), strlen($word)+1);
            default: ++
    $last_chr;
        } return 
    $last_wrd.$last_chr;
    }
    Code:
    b
    c
    d
    e
    f
    g
    h
    i
    j
    k
    l
    m
    n
    o
    p
    q
    r
    s
    t
    u
    v
    w
    x
    y
    z
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    A
    B
    C
    D
    E
    F
    G
    H
    I
    J
    K
    L
    M
    N
    O
    P
    Q
    R
    S
    T
    U
    V
    W
    X
    Y
    Z
    aa
    Если можно как-нибудь упростить функцию, буду рад реализации.
     
    _________________________
    1 person likes this.
  9. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Есть код:
    PHP:
    <?

    $host="site.ru";
    $fp fsockopen($host80);

    $header "GET /page HTTP/1.1\r\n";
    $header.="User-Agent: Mozilla/5.0\r\n";
    $header.="Host: $host\r\n";
    $header.="Connection: keep-alive\r\n\r\n";
    fwrite($fp,$header);

    while(!
    feof($fp))
    $page.=fread($fp,4096);
    $token substr($page,strpos($page,"token") + 26,32);
    $data="key=asdasd&token=$token";
    $header="";
    $header "POST /page/request HTTP/1.1\r\n";
    $header.="Host: $host\r\n";
    $header.="User-Agent: Mozilla/5.0\r\n";
    $header.="Accept: text/html, */*\r\n";
    $header.="Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3\r\n";
    $header.="Accept-Encoding: gzip, deflate\r\n";
    $header.="Connection: keep-alive\r\n";
    $header.="Content-Length:" .strlen($data)."\r\n";
    $header.="X-Requested-With: XMLHttpRequest\r\n";
    $header.="Content-Type: application/x-www-form-urlencoded; charset=UTF-8\r\n";
    $header.="\r\n";
    $header.=$data;
    fwrite($fp,$header);
    while(!
    feof($fp))
    $page.=fread($fp,1024);
    fclose($fp);
    ?>
    гет запрос проходит норм, данные парсятся. Пост запрос отсылается, но ответа на его сервер не дает. Что не так?
     
  10. Skofield

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

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    392
    Reputations:
    58
    shadowrun, вы в один сокет пытаетесь запихнуть и гет и пост запросы.
     
    1 person likes this.
  11. xaker-boss

    xaker-boss Elder - Старейшина

    Joined:
    6 Mar 2007
    Messages:
    251
    Likes Received:
    49
    Reputations:
    -11
    Ребят, есть вот такой обработчик сообщений от билинговой системы:
    PHP:
    /*************Функция обработки полученного смс-сообщения*************************/
    function message_store($message_text)
    {  
     
    //Фиксируем время получения сообщения
     
    $time=date("d.m.Y H:i:s");
      
     
    //Отбрасываем код из текста смс-сообщения
     
    $text=substr($message_text,strlen(SMS_CODE));
     
     
    //Если сообщение пустое - размещать в чате не будем
     
    if(trim($text) == "") return ("Вами не указан текст сообщения");
     else 
     {   
    //Если не удалось записать сообщение в лог-файл, сообщаем обработчику
         
    if (!write_log_file(log_dir,$time,ltrim($text))) return ("Ошибка обработки сообщения.");
         
    //В данном случае проверьте наличие лог-файла и права доступа
     
    };
     
    //Сообщаем обработчику об успешном получении смс для учета в статистике системы СМС-Доступ
     //Данное сообщение будет отправлено абоненту в качестве ответа на его смс - ИЗМЕНЕНО!
     
    $f file('./1.txt'); 
    shuffle($f); 
    return (
    $f[0]);
    }
    кто хорошо php знает, помогите изменить его так, что бы входящие сообщения могли приходить только в таком виде:
    013327001149550

    там могуть быть любые цифры, но главное что бы их было 15, и начинались они с цифры 01

    на всякий случай вот файл целиком _http://molodast.ru/unlock/_code/primer.txt
     
    #21271 xaker-boss, 26 Nov 2012
    Last edited: 26 Nov 2012
  12. Sadow

    Sadow New Member

    Joined:
    26 Nov 2012
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте! Помогите пожалуйста. А как можно сделать переадресацию так чтобы, например хочешь загрузить фото, жмешь на нее (например 3 раза) и она загружается, а на следующий раз при нажатие выполняется переход на рекламную ссылку... Или что-то в этом роде.
     
  13. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    В заголовке ты указываешь Connection: keep-alive, то есть отправлять несколько запросов одним и тем же сокетом можно. Но цикл while(!feof($fp)) завершится тогда, когда сервер закроет соединение сам (для этого может потребоваться 30-60 сек. в лучшем случае). Самое простое решение здесь: использовать Connection: close в POST запросе или еще лучше curl.
    Используй кукисы.
     
  14. Sadow

    Sadow New Member

    Joined:
    26 Nov 2012
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    да там кажется по-другому можно сделать скрипт..... n-е колличество раз файл загружается а на другой раз перебрасывает по рекламной.... у меня когда-то такой скрипт, пользовался им, но потом потерял его...
     
  15. herfleisch

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

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Не совсем понятно. Тебе нужно чтобы SMS_CODE был 15-значным числом, или сам текст сообщения без SMS_CODE?

    В любом случае используй регулярное выражение:
    Code:
    /^01[0-9]{13}$/
     
    #21275 herfleisch, 27 Nov 2012
    Last edited: 27 Nov 2012
    1 person likes this.
  16. xaker-boss

    xaker-boss Elder - Старейшина

    Joined:
    6 Mar 2007
    Messages:
    251
    Likes Received:
    49
    Reputations:
    -11
    herfleisch сам текст сообщения без SMS_CODE :)
    а как применить твой код к моему скрипту?
     
    #21276 xaker-boss, 28 Nov 2012
    Last edited: 28 Nov 2012
  17. herfleisch

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

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Я имею ввиду кто должен быть 15-тизначным числом, смс-код или текст сообщения?
     
  18. xaker-boss

    xaker-boss Elder - Старейшина

    Joined:
    6 Mar 2007
    Messages:
    251
    Likes Received:
    49
    Reputations:
    -11
    текст сообщения
     
  19. herfleisch

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

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Давно с PHP не работал. Должно помочь, только потестируй обязательно и отпишись о результате.

    Code:
     /*************Функция обработки полученного смс-сообщения*************************/ 
    function message_store($message_text) 
    {   
     //Фиксируем время получения сообщения 
     $time=date("d.m.Y H:i:s"); 
       
     //Отбрасываем код из текста смс-сообщения 
     $text=substr($message_text,strlen(SMS_CODE)); 
      
     //Если сообщение пустое - размещать в чате не будем 
     if(trim($text) == "") return ("Вами не указан текст сообщения"); 
     else if (!preg_match(/^01[0-9]{13}$/, $text)) return ("Неправильный формат сообщения");
     else
     {   //Если не удалось записать сообщение в лог-файл, сообщаем обработчику 
         if (!write_log_file(log_dir,$time,ltrim($text))) return ("Ошибка обработки сообщения."); 
         //В данном случае проверьте наличие лог-файла и права доступа 
     }; 
     //Сообщаем обработчику об успешном получении смс для учета в статистике системы СМС-Доступ 
     //Данное сообщение будет отправлено абоненту в качестве ответа на его смс - ИЗМЕНЕНО! 
     $f = file('./1.txt');  
    shuffle($f);  
    return ($f[0]); 
    }  
     
  20. xaker-boss

    xaker-boss Elder - Старейшина

    Joined:
    6 Mar 2007
    Messages:
    251
    Likes Received:
    49
    Reputations:
    -11
    herfleisch когда вставил этот код, сразу перестал работать сайт (одby фон остался на страничке), попытался отослать смс-ку мне пришел ответ что сервис временно не работает...
    возврощаю обратно и все норм
     
Thread Status:
Not open for further replies.