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

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

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

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

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Как можно отправить письмо, не "спалив" свой IP ?
    mail() через сокс, как такое осуществить ?
     
  2. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Коннектишься через fsockopen к соксу, а потом посылаешь туда SMTP-команды.
     
  3. Texhnolyze

    Texhnolyze New Member

    Joined:
    12 Feb 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Какой сервер мне указывать при подключении Тотал Командером к http://www.110mb.com/ ?
     
  4. luser78

    luser78 New Member

    Joined:
    17 Feb 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Сначала идет проверка на существование переменной :
    Потом заносится в переменную :
    Что можно ещё использовать кроме htmlspecialchars для усиления безопасности ???
    Предложите свое решение?
     
  5. emillord

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

    Joined:
    20 Jan 2008
    Messages:
    257
    Likes Received:
    444
    Reputations:
    255
    Code:
    $test= str_replace("<","_",$test);
    
      $test= htmlspecialchars(stripslashes($test));
    
    $test= substr($HTTP_POST_VARS["test"],0,30);
    Можно и это попробовать.
     
  6. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    А еще можно все в base64 в базу пихать =\
     
  7. safinik2009

    safinik2009 New Member

    Joined:
    11 Jan 2010
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Ошибка

    <?php
    fclose(fopen('cookie.txt', 'w'));

    $url = array(
    'login'=>'http://fundux.ru/login',
    'index'=>'http://fundux.ru/',
    'post'=>'http://fundux.ru/project'
    );

    $login_data = 'login=XD;pass=WuHoMoCruF';

    $messages = file('mess.txt');

    $curl = curl_init();
    $setopt = array(
    CURLOPT_URL => $url['login'],
    CURLOPT_POST => 1,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_TIMEOUT => 60,
    CURLOPT_REFERER => $url['index'],
    CURLOPT_USERAGENT => 'Mozilla/4.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3',
    CURLOPT_COOKIEJAR => 'cookie.txt',
    CURLOPT_HEADER => 0,
    );
    curl_setopt_array($curl,$setopt);
    curl_setopt($curl,CURLOPT_POSTFIELDS, $login_data);
    curl_exec($curl);

    curl_setopt($curl, CURLOPT_URL, $url['post'].rand(1, 9999));
    curl_setopt($curl,CURLOPT_POSTFIELDS, 'message='.$messages[0].'&does=1&secure=1266508429&chas=d8841b08bc');
    curl_exec($curl);

    curl_setopt($curl, CURLOPT_URL, $url['post'].rand(1, 9999));
    curl_setopt($curl,CURLOPT_POSTFIELDS, 'message='.$messages[1].'&does=1&secure=1266508429&chas=d8841b08bc');
    curl_exec($curl);

    curl_close($curl);


    ?>

    Выдает ошибку

    Fatal error: Call to undefined function curl_init() in /home/aiq/s/a/f/safinik/public_html/project.php on line 14
    Как исправить ???
     
  8. wildshaman

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

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    Установить curl
     
  9. safinik2009

    safinik2009 New Member

    Joined:
    11 Jan 2010
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Как ??? Можно поподробне ???
    А еще лутше если вы подскажите на каком freeхосте это можно сделать ???
     
  10. Nosfer

    Nosfer New Member

    Joined:
    10 Jan 2007
    Messages:
    16
    Likes Received:
    1
    Reputations:
    0
    Есть код определения ПР:

    PHP:
    <?php 

    error_reporting 
    (E_ALL & ~E_NOTICE);
    /** 
     * Google Page rank data grabber. 
     * Based on Google toolbar data. 
     *  
     * Working with data like that: 
     * "Rank_1:1:6". Without XML/HTML parsing. 
     *  
     * @important: 
     *  This code is for cognitive purposes only. 
     *  Usage of this code is against Google's terms of service. 
     *  No support is provided for this code. 
     *  Can be used "as is" for your own risk. 
     *  
     * @requirements: 
     *  - PHP version 5 (can easily be downgraded to PHP4) 
     *  - cURL library (but you can replace curl functions with 
     *  PHP standard fopen/fread or other) 
     *  
     * @version 1.1 
     * @author exstabler // PHP version 
     * @author snoopy    // JS version 
     *  
     * @changelog: 
     *  - 2007-01-18: 
     *  1. [exstabler] Deprecated method intToHex deleted. 
     *  2. [exstabler] Method toHex8 corrected. 
     *  
     * @sample usage: 
     *  $obj = new PageRankGrabber(); 
     *  $rank = $obj->getRank('http://dir.org.ru'); 
     */ 
    class PageRankGrabber 
         
        
    /** 
         * Returns PageRank for specified page 
         * @param string $url  
         * @return integer PageRank value 
         */ 
        
    public function getRank($url) { 
            
    $pageUrl $this->getRankUrlStingByPageUrl($url); 
            
    $content $this->getContentCurl($pageUrl); 
            echo 
    $pageUrl;
            
    $parts   explode(":"$content); 
            return 
    intval(@$parts[count($parts)-1]); 
        } 
         
        
    /** 
         * Returns content by URL with using 
         * cURL library. 
         * 
         * @param string $url  
         * @return string Site content 
         */ 
        
    public function getContentCurl($url) { 
           
    $ch curl_init(); 
           
    curl_setopt($chCURLOPT_URL$url); 
           
    curl_setopt($chCURLOPT_HEADER0); 
           
    curl_setopt($chCURLOPT_RETURNTRANSFER1); 
           
    curl_setopt($chCURLOPT_FOLLOWLOCATION0); 
           
    $result curl_exec($ch); 
           
    curl_close($ch); 
           return 
    $result;         
        } 
         
        
    /** 
         * Returning URL where PR can be grabbed. 
         * 
         * @param string $page - Page URL 
         * @return string  
         */ 
        
    public function getRankUrlStingByPageUrl($page) { 
            
    $this->awesomeHash($page); 
            
    $hash "8" $this->awesomeHash($page); 
            
    $url  "http://toolbarqueries.google.com/search?sourceid=" 
                    
    "navclient-ff&features=Rank&client=navclient-auto-ff&"
            
    $url .= "ch=" $hash "&q=info:" urlencode($page); 
            return 
    str_replace(' '''$url);         
        } 
             
        
    /** 
         * Transforms integer into hexademical 
         * 
         * @param int $num  
         * @return string  
         */ 
        
    private function toHex8($num) { 
            
    $vector "0123456789abcdef"
            return 
    $vector[($num 256) / 16] . $vector[$num 16]; 
        } 
         
        
    /** 
         * Service function: encoder 
         */ 
        
    private function hexEncodeU32($num) { 
            
    $result  $this->toHex8($this->zerofillShift($num24)); 
            
    $result .= $this->toHex8($this->zerofillShift($num16) & 255); 
            
    $result .= $this->toHex8($this->zerofillShift($num8) & 255); 
            return 
    $result $this->toHex8($num 255); 
        } 
      
        
    /** 
         * Service function: hashing 
         */ 
        
    private function awesomeHash($value)  { 
      
            
    $hashSeed "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE." 
                        
    "Yes, I'm talking to you, scammer."
            
    $intValue 16909125
            for(
    $i 0$i strlen($value); $i++ ){ 
                
    $intValue ^= 
                    
    $this->charCodeAt($hashSeed$i strlen($hashSeed)) ^ 
                    
    $this->charCodeAt($value$i); 
                
    $intValue 
                    
    $this->zerofillShift($intValue,  23) | $intValue << 9
            } 
            return 
    $this->hexEncodeU32($intValue); 
        } 
         
        
    /** 
         * The charCodeAt() method returns the Unicode 
         * of the character at a specified position. 
         * 
         * @param int $value  
         */ 
        
    private function charCodeAt($value$position) { 
            
    $symbol $value[$position]; 
            
    // ord() is for ASCII! 
            // Original function should work with UTF-8. 
            
    return ord($symbol); 
        } 
      
        
    /** 
         * Service function: zerofil with shifing 
         * (unsigned shift right). 
         */ 
        
    private function zerofillShift($a$b) { 
            
    $z hexdec(80000000); 
            if (
    $z $a) { 
                
    $a = ($a >> 1); 
                
    $a &= (~$z); 
                
    $a |= 0x40000000
                
    $a = ($a >> ($b-1)); 
            } else { 
                
    $a = ($a >> $b); 
            } 
            return 
    $a
        }    



    $obj = new PageRankGrabber(); 
    $rank $obj->getRank('http://google.com');
    echo 
    " hello ".$rank."<br>";
    phpinfo();
    ?>
    Один и тот же код на разных серверах.

    На всех серверах кроме одного выполняется корректно, хеш считает: http://toolbarqueries.google.com/search?sourceid=navclient-ff&features=Rank&client=navclient-auto-ff&ch=8183b0d79&q=info:http%3A%2F%2Fgoogle.com

    А на нужном выдает ошибку:
    Code:
    PHP Notice: Uninitialized string offset: -1 in /var/www/html/prcheck/index3.php on line 89
    и ничего не считает: http://toolbarqueries.google.com/search?sourceid=navclient-ff&features=Rank&client=navclient-auto-ff&ch=80ffffff&q=info:http%3A%2F%2Fgoogle.com

    Уже несколько раз пересобирал пхп, включал-отключал модули. Хоть убейся не могу найти зависимость.
    Огромная просьба помочь, может у кого есть идеи.
     
  11. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    денвер найдешь где скачать,а тут написано про установку курла на него http://parsing-and-i.blogspot.com/2009/09/curl-denwer.html
     
  12. real_kas

    real_kas Member

    Joined:
    22 Mar 2007
    Messages:
    40
    Likes Received:
    7
    Reputations:
    5
    Мне нужно вывести предложение изходя из времени.

    К примеру:

    с 9:00 по 10:35 - вывод: Доброе утро
    с 12:50 по 14:25 - вывод: Добрый день
    с 16:20 по 17:55 - вывод: Добрый вечер

    Как это реализовать в php? Есть ли стндартные функции? Если нет, то где искать решение?

    ЗЫ: Ответа не нашел, видимо не нашелся как сформировать поисковый запрос.. уж сложно в отношении данного вопроса
     
  13. Deathdreams

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

    Joined:
    8 Nov 2008
    Messages:
    342
    Likes Received:
    116
    Reputations:
    5
    PHP:
    $date date("Hi");

     if( 
    $date >= 0900 && $date <= 1035 ) echo "Доброе утро";

     if( 
    $date >= 1250 && $date <= 1425 ) echo "Добрый день";

     if( 
    $date >= 1620 && $date <= 1735 ) echo "Добрый вечер";


     
    1 person likes this.
  14. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    0900 == 0
     
  15. real_kas

    real_kas Member

    Joined:
    22 Mar 2007
    Messages:
    40
    Likes Received:
    7
    Reputations:
    5
    почему?
     
  16. Tesson

    Tesson Banned

    Joined:
    27 Dec 2009
    Messages:
    164
    Likes Received:
    43
    Reputations:
    0
    что за ошибка

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/realbn/domains/*****/public_html/parser/parser2.php:6) in /home/realbn/domains/*****/public_html/parser/parser2.php on line 7???
     
  17. emillord

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

    Joined:
    20 Jan 2008
    Messages:
    257
    Likes Received:
    444
    Reputations:
    255
    Видимо есть пробелы\пустые строки в <?php там ничего не должно быть...
    Подробнее тут http://joomlaforum.ru/index.php?topic=34534.0
     
  18. Tesson

    Tesson Banned

    Joined:
    27 Dec 2009
    Messages:
    164
    Likes Received:
    43
    Reputations:
    0
    сам код хер знает где пробелы :confused: :confused:

    <?
    session_start();
    require ('config.php');
    if ($_SESSION['login']<>$admin_login and $_SESSION['password']<>$admin_passw)
    {
    header("Location:/parser.php?err=falce");
    exit();
    }
    ?>
     
  19. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Пробелы или перенос строки после ?>

    а может ты стартуешь сессию,после вывода чегонибудь?
     
  20. Tesson

    Tesson Banned

    Joined:
    27 Dec 2009
    Messages:
    164
    Likes Received:
    43
    Reputations:
    0
    незнаю
     
Thread Status:
Not open for further replies.