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

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

Thread Status:
Not open for further replies.
  1. --=[Bob]=--

    --=[Bob]=-- New Member

    Joined:
    8 Mar 2011
    Messages:
    39
    Likes Received:
    3
    Reputations:
    1
    Нужно запустить вебсервер на win 2008, с поддержкой PHP.
    Делал все по инструкции.
    В итоге у меня вот такой косяк http://62.75.235.237/home.php

    PHP поставил, все ровно также. Как исправить? Заранее благодарен.
     
  2. v00d

    v00d Member

    Joined:
    11 Oct 2010
    Messages:
    34
    Likes Received:
    10
    Reputations:
    7
    Посмотри в php.ini включена ли директива short_open_tag, если нет - включи.
     
  3. xaker-boss

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

    Joined:
    6 Mar 2007
    Messages:
    251
    Likes Received:
    49
    Reputations:
    -11
    PHP:
     //Если сообщение пустое - размещать в чате не будем
     
    if(trim($text) == "") return ("Вами не указан текст сообщения");
    Как изменить этот код так, что бы входящие сообщения могли приходить только в таком виде:
    013327001149550

    там могуть быть любые цифры, но главное что бы их было 15, иначе
    PHP:
    return ("не верный код")
     
  4. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    PHP:
    if(!preg_match("/[0-9]{15}/"$text)) die("Ибо нех*й");
     
    _________________________
  5. herfleisch

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

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    PHP:
    if(!preg_match("/^01[0-9]{13}$/"$text)) die("Ибо нех*й");
    Ибо ему нужно чтобы цифры начинались на 01. Плюс ему нужно учитывать начало и конец входного потока.

    У него проблема где-то в алгоритме, без подробностей не помочь.

    Автор вопроса, выложи хоть логи ошибок чтоли.
     
  6. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    herfleisch, пишите еше, мне нравятся мысли экстрасенсов.
    P.S. угадай о чем я думаю.
     
    _________________________
  7. herfleisch

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

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    О том что он писал эти условия несколькими постами ранее в этой же теме.
     
  8. restart_05

    restart_05 Member

    Joined:
    5 May 2009
    Messages:
    164
    Likes Received:
    6
    Reputations:
    0
    Имеется код
    Если через него пропустить ссылку типа http://www.youtube.com/watch?v=ID&feature=g-all, то получится так: http://www.{ТУТ КОД ПЛЕЕРА}&feature=g-all.
    Не могли ли вы помочь поправить данную проблему?
     
  9. VKtraf

    VKtraf Member

    Joined:
    3 Feb 2012
    Messages:
    55
    Likes Received:
    10
    Reputations:
    5
    Всем привет!
    Пожалуйста подскажите, как сейчас можно авторизоваться в Вконтакте, используя cURL?

    Пытаюсь таким образом:
    Code:
    <?php
    
    $mail = 'ЛОГИН';
    $pass = 'ПАРОЛЬ';
    
    $otvet=connect("http://login.vk.com/?act=login&email=$mail&pass=$pass");
    If(!preg_match("/hash=([a-z0-9]{1,32})/",$otvet,$hash)){
    die("Login incorrect");
    }
    $otvet=connect("http://vk.com/login.php?act=slogin&hash=".$hash[1]);
    preg_match("/remixsid=(.*?);/",$otvet,$sid);
    $cookie = "remixchk=5; remixsid=$sid[1]";
     
    $ch2 = curl_init();
    curl_setopt($ch2, CURLOPT_URL,"http://vk.com/feed");
    curl_setopt($ch2, CURLOPT_COOKIE, $cookie);
    $otvet = curl_exec($ch2);
    curl_close($ch2);
    echo $otvet;
    
    
    
    function connect($link,$cookie=null,$post=null){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$link);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 0);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
    if($cookie !== null)
    curl_setopt($ch, CURLOPT_COOKIE, $cookie);
    if($post !== null)
    {
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    }
    $otvet = curl_exec($ch);
    curl_close($ch);
    return $otvet;
    }
    
    ?>
    - выдает на экран цифру "1" и все.

    Заранее огромное спасибо!
     
  10. daniel777

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

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    PHP:
    <?php

    $mail
    =''//E-mail
    $pass=''//Пароль

    $ch curl_init();
    curl_setopt($chCURLOPT_URL'https://login.vk.com/?act=login');
    curl_setopt($chCURLOPT_HEADER1);
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_USERAGENT'FIREFOX');
    curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
    curl_setopt($chCURLOPT_SSL_VERIFYHOSTfalse);
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS'act=login&q=1&al_frame=1&expire=&captcha_sid=&captcha_key=&from_host=vk.com&from_protocol=http&ip_h='.md5($_SERVER[REMOTE_ADDR]).'&email='.$mail.'&pass='.$pass);

    $res=curl_exec($ch);
    curl_close($ch);

    preg_match_all("/Set-Cookie: (.*?);/"$res$cookie);

    print_r($cookie);

    ?>
    Еще есть авторизация через Oauth для работы с API:
    PHP:
    <?php

    $mail
    ='';
    $pass='';

    $ch curl_init();
    curl_setopt($chCURLOPT_URL'https://oauth.vk.com/token?grant_type=password&client_id=2274003&client_secret=hHbZxrka2uZ6jB1inYsH&username='.$mail.'&password='.$pass);
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_HEADER0);
    curl_setopt($chCURLOPT_SSL_VERIFYPEER0);
    curl_setopt($chCURLOPT_SSL_VERIFYHOST0);
    echo 
    curl_exec($ch);
    curl_close($ch);

    ?>
     
    1 person likes this.
  11. VKtraf

    VKtraf Member

    Joined:
    3 Feb 2012
    Messages:
    55
    Likes Received:
    10
    Reputations:
    5
    daniel777, большое спасибо! :)
    Через API боюсь подключаться, ВК очень быстро банит мои акки, которые через oauth подключаются в ВК.

    Если не затруднит, пожалуйста еще чуть-чуть подскажите по первому скрипту - перед закрытием curl_close устанавливаю новый урл и куки, запускаю курл - не могу залогиниться:
    Code:
    ...
    curl_setopt($ch, CURLOPT_URL, 'http://vk.com/');  // Задаю новый адрес курлу
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);  // Задаю куки курлу
    echo curl_exec($ch);  // Выполняю курл
    curl_close($ch);
    
    Подскажите, что я делаю не так - ведь задаются куки, но не логинится.

    Заранее спасибо!
     
  12. daniel777

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

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    $cookie - это массив с всеми куками, которые дал нам сайт vk.com
    Из него нас интересует только remixsid, её и подставляем в следующий запрос:
    PHP:
    $ch curl_init();
    curl_setopt($chCURLOPT_URL'http://vk.com');
    curl_setopt($chCURLOPT_HEADER1);
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20100101 Firefox/16.0');
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    curl_setopt($chCURLOPT_COOKIE$cookie[1][10]);
    $res=curl_exec($ch);
    curl_close($ch);
     
    1 person likes this.
  13. VKtraf

    VKtraf Member

    Joined:
    3 Feb 2012
    Messages:
    55
    Likes Received:
    10
    Reputations:
    5
    daniel777, огромное, просто огромное спасибо!
    Очень благодарен, все получилось! :)
    Только у меня в массиве кукисов remixsid идет девятым элементом ($cookie[1][9]) и все отлично авторизуется!

    Еще раз спасибо! [​IMG]
     
  14. o'clock

    o'clock Elder - Старейшина

    Joined:
    16 May 2009
    Messages:
    125
    Likes Received:
    22
    Reputations:
    11
    Подскажите, как проверить наличие в строке $str только букв русского и английского алфавита? Спасибо.
     
  15. Skofield

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

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    392
    Reputations:
    58
    o'clock,
    PHP:
    if (preg_match('~^[A-Za-zА-Яа-я]+$~'$str))
    echo 
    "ok";
    else echo 
    "not ok";
     
  16. restart_05

    restart_05 Member

    Joined:
    5 May 2009
    Messages:
    164
    Likes Received:
    6
    Reputations:
    0
    Имеется код
    Если через него пропустить ссылку типа http://www.youtube.com/watch?v=ID&feature=g-all, то получится так: http://www.{ТУТ КОД ПЛЕЕРА}&feature=g-all.
    Не могли ли вы помочь поправить данную проблему?
     
  17. v00d

    v00d Member

    Joined:
    11 Oct 2010
    Messages:
    34
    Likes Received:
    10
    Reputations:
    7
    PHP:
    preg_match('/(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/ ]{11})/i',$text,$r);
    echo 
    "<iframe width=\"$width\" height=\"$height\" src=\"http://www.youtube.com/embed/$r[1]\" frameborder=\"0\" allowfullscreen></iframe>";
     
  18. yesman

    yesman New Member

    Joined:
    15 Oct 2011
    Messages:
    24
    Likes Received:
    0
    Reputations:
    0
    что лучше использовать для работы с сокетами fsockopen или библиотеку CURL?
     
  19. AnomaIy

    AnomaIy New Member

    Joined:
    17 Nov 2012
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    с PHP как правильно передать ссылка к яваскрипту, чтобы после завершения загрузки он вставил эту ссылку в поле для ввода текста?

    PHP:
    <?php
       
    // Edit upload location here
       
    $destination_path getcwd().DIRECTORY_SEPARATOR;

       
    $result 0;
       
       
    $target_path $destination_path basename$_FILES['myfile']['name']);

       
    $imagetypes = array(
            
    'image/png' => '.png',
            
    'image/gif' => '.gif',
            
    'image/jpeg' => '.jpg',
            
    'image/bmp' => '.bmp');
       
    $ext $imagetypes[$_FILES['myfile']['type']];

       
    $randval time();
       
    $newname $randval $ext;
     
       if(@
    move_uploaded_file($_FILES['myfile']['tmp_name'], $newname)) {
              
    $result 1;
       }
       
       
    sleep(1);
    ?>

    <script language="javascript" type="text/javascript">window.top.window.stopUpload(<?php echo $result?>);</script> 
    Code:
    <script language="javascript" type="text/javascript">
    <!--
    function startUpload(){
          document.getElementById('myf1_upload_process').style.visibility = 'visible';
          document.getElementById('myf1_upload_form').style.visibility = 'hidden';
          return true;
    }
    
    function stopUpload(success){
          var result = '';
          if (success == 1){
             result = '<span class="mymsg"><\/span>';
     editor = ipb.textEditor.getEditor(ipb.topic.fastReplyId);
     editor.insert("[img] +  + [/img]", true );
          }
          else {
             result = '<span class="myemsg">There was an error during file upload!<\/span>';
          }
          document.getElementById('myf1_upload_process').style.visibility = 'hidden';
          document.getElementById('myf1_upload_form').innerHTML = result + '<br/><input type="hidden" name="MAX_FILE_SIZE" value="5000000">File: <input name="myfile" type="file" accept="image/*" size="0" /><input type="submit" name="submitBtn" class="mysbtn" value="Upload" />';
          document.getElementById('myf1_upload_form').style.visibility = 'visible';    
            return true;   
    }
    //-->
    </script>   
     
    #21299 AnomaIy, 4 Dec 2012
    Last edited: 4 Dec 2012
  20. ratripper

    ratripper New Member

    Joined:
    26 Sep 2010
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Помогите убрать уязвимость из скрипта



    PHP:

    <?php

    if(isset($_POST["data"])){
        
    $line explode("\r\n",$_POST['data'] );
        
    $lines count($line);

        for (
    $i 0$i <= $lines$i++) {
            if (
    $line[$i] != "") {
            
    $line[$i] = trim($line[$i]);
            
    $ar explode('='$line[$i], 2);


            
    $stf substr($ar[1], 04);

            echo  
    $ar[0]."=".$stf."</br>";
    }
    }
    }
    ?>

    <form method="POST" action="<?php print $_SERVER['PHP_SELF']; ?>">
        <textarea name="data" cols="60" rows="25"></textarea>
        <br>
        <input type="submit" class="big_button btn_green" value="Convert">
    </form>


     
Thread Status:
Not open for further replies.