Сделано в Раскрутке

Архив эхоконференции RU.PHP

- RU.PHP ------------------------------------------------------------- RU.PHP -
 Msg  : #5035 [1078]
 От   : FAQ AutoPoster                2:5012/8.13         06 декабря 03, 10:30
 Кому : All                                               10 декабря 03, 21:42
 Тема : FAQ [5/5]
-------------------------------------------------------------------------------
> Другой способ, использующий сокеты. 
 0 ) && ( $out == "" ) ) 
                        { break; } 
                        else 
                        { $s++;    } 
                        if ( $s == 9999 ) { break; } 
                     
                    } while ( $out == "" ); 
                    set_socket_blocking ( $fp, true ); 

                    fputs ( $fp, "HELO $SERVER_NAME\n" ); 
                    $output = fgets ( $fp, 2000 ); 
                    fputs ( $fp, "MAIL FROM: \n" ); 
                    $output = fgets ( $fp, 2000 ); 
                    fputs ( $fp, "RCPT TO: <$email>\n" );                 
                    $output = fgets ( $fp, 2000 ); 
                    if ( ereg ( "^250", $output ) ) 
                    { 
                        $return[0] = true; 
                    } 
                    else 
                    { 
                        $return[0] = false; 
                        $return[1] = $output; 
                    } 
                    fputs ( $fp, "QUIT\n" ); 
                    fclose( $fp ); 

                    if ( $return[0] == true ) 
                    { break; } 
                } 
            } 
        } 
    } 
    return $return; 
} 
?> 

> Jon S. Stevens


>>7.3. Как определить валидность URL? 
 

> Dmitry Seleznev, 2:5095/6

>>7.4. Как определить размер файла, если известен только его URL? 
 

> Serge V. Tarasov

>>7.5. Как правильно перенаправить browser на нужный адрес? 
Если следовать спецификациям HTTP/1.0 и HTTP/1.1, то pедиpект нужно делать 
пpимеpно следующим обpазом: 

 

Oops!

Ваш бpаузеp не понимает HTTP redirect (status code: ).
Следуйте по этой ссылке. Пpимеpы использования my_redirect('/index.html'); my_redirect('http://warez.dot.no/'); my_redirect('accepted.html', 303); Пояснения 1. Функции можно пеpедавать в качестве пеpвого паpаметpа либо локальный адpес (если pедиpект делается в пpеделах сайта), либо полный URL (если pедиpект делается на дpугой хост). 2. По умолчанию pедиpект делается со status code 302; однако спецификация HTTP/1.1 тpебует использования status code 303 в том случае, если pедиpект делается скpиптом в качестве ответа на POST (RFC 2616, секция 10.3.4). Если вы хоpошо поняли, о чём идёт pечь, то указывайте код 303 в качестве втоpого (необязательного) паpаметpа пpи ответе на POST, как показано в пpимеpе 3. Если не очень хоpошо поняли, не указывайте ничего -- всё будет pаботать и так :) 3. Hаличие небольшого гипеpтекстового довеска является обязательным (RFC 2616, секция 10.3.3). 4. Само собой pазумеется, что скpипт не должен ничего выводить ДО вызова этой функции. > Dmitry Ban, 2:5020/1873.33 > Для перенаправления browser на нужный адрес (редирект) нужно >воспользоваться конструкцией вида: header("Location: " . $url); Location должен задаваться абсолютным адресом, согласно RFC 2616 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30): "14.30 Location The Location response-header field is used to redirect the recipient to a location other than the Request-URI for completion of the request or identification of a new resource. For 201 (Created) responses, the Location is that of the new resource which was created by the request. For 3xx responses, the location SHOULD indicate the server's preferred URI for automatic redirection to the resource. The field value consists of a single absolute URI. Location = "Location" ":" absoluteURI An example is: Location: http://www.w3.org/pub/WWW/People.html" > Alexey Kolesnichenko > Для перенаправления по относительному адресу: header("Location: http://".$_SERVER['HTTP_HOST'] .dirname($_SERVER['PHP_SELF']) ."/".$relative_url); > anatoly techtonik ----------------------------------------------------------------------------- >>>8. Безопасность ----------------------------------------------------------------------------- >>8.1. Я хочу ограничить доступ к одной из страниц. Хочу, чтобы при попытке >>открытия этой страницы браузер у клиента вывешивал окошко и предлагал >>ввести логин? Читать: http://www.php.net/manual/en/features.http-auth.php > Vova Rusakevich, 2:454/23.501 >>8.2. Я - hosting provider, как мне организовать безопасность скриптов >>виртуальных серверов, т.е. что бы юзер Вася не смог сделать fread() файла >>юзера Пети? Это делается при помощи диррективы PHP : safe_mode, и параметра open_basedir. Пример: ServerName tit.irk.ru LanguagePriority ru en DocumentRoot /home/users/WWW php_admin_value open_basedir /home/users/WWW В итоге, если "умный" юзер Вася пытается что-то сделать с файлами за пределами его (/home/users/WWW) дирректории, то он получает: Warning: open_basedir restriction in effect. File is in wrong directory. in /home/users/WWW/ss.pht on line 3 Warning: fopen("/etc/passwd","r") - Operation not permitted in /home/users/WWW/ss.pht on line 3 За более детальным конфигом с комментариями: http://www.php4you.kiev.ua/docs/php_limit.html > Vitaliy N. Kravchenko, kvn(@)phbme.ntu-kpi.kiev.ua Что бы дать юзеру хранить/читать/писать в файлы вне www, но в пределах доступности скрипта нужно исправить строку: php_admin_value open_basedir /home/users > Oleg Krasnov, 2:5062/17.77 ----------------------------------------------------------------------------- >>>9. Где взять... ----------------------------------------------------------------------------- >>9.1. Документацию >>9.1.1 Где взять документацию по PHP? Документацию по PHP можно взять тут: http://www.php.net/docs.php. > Andrey Saterenko Однако для тех, у кого стоит windows, существует гораздо более удобный и полезный вариант в .chm формате с комментариями пользователей. http://weblabor.hu/php-doc-chm/ > anatoly techtonik Русский мануал к PHP (авторский, не официальный перевод) версии 4.2.* в HTML находится по адресу http://pyramidin.narod.ru/dwnl.htm > SeazoN aka Sergey Sazonenkov, 2:469/142.999 >>9.1.2. Информация по написанию модулей для php. http://www.zend.com/ http://www.zend.com/apidoc/ > Vova Rusakevich, 2:454/23.501 >>9.1.3. Подскажите хороший сайт по php. http://www.dklab.ru/ - Лаборатория dk http://www.phpclub.net/ - PHPClub http://php.spb.ru/ - PHP по-русски ----------------------------------------------------------------------------- >>9.2. Скрипты >>9.2.1. Где взять готовый скрипт гостевой, форума и т.п.? Вот несколько ссылочек: http://webscript.ru/ http://cgi.ru/ http://hotscripts.com/ http://cgi-fan.com/ http://www.phorum.org/ http://www.cgi-bin.ru/ >>9.2.2. Помимо гостевых, чатов и т.п. (хочется чего то..) http://www.hotscripts.com/PHP/ http://sourceforge.net/ ----------------------------------------------------------------------------- >>9.3. Редакторы >>9.3.1. Всё, что существует на сегодняшний момент, не считая Far, UltraEdit >>и им подобных. PHP Coder http://www.phpide.de/ PHPEdit http://www.phpedit.net/ PHP Expert Editor http://www.ankord.com/phpxedit.html Turbo PHP http://www.turbophp.com/turbo/ QaDRAM http://www.qadram.com/ DzSoft PHP Editor http://www.dzsoft.com/dzphp.htm Arisesoft Winsyntax http://www.winsyntax.com/ > Zubarev Andrey, oistets(a)bogatyr.kz ----------------------------------------------------------------------------- >>9.4. Хостинг >>9.4.1. Какие существуют халявные хостинги c поддержкой PHP? Из наших: http://www.webservis.ru http://www.holm.ru http://www.hut.ru http://www.agava.ru http://www.fatal.ru > > Эти, обычно, нареканий не вызывают http://www.kombat.ru http://www.zenon.ru > Zubarev Andrey, oistets(a)bogatyr.kz --- GMT v1.04beta5 * Origin: Two Beer Or Not Two Beer? (2:5012/8.13)

При переходе по баннеру - скидка 25% на первый месяц обслуживания!
Самый простой способ получить ROOT-доступ
При переходе по баннеру - скидка 25% на первый месяц обслуживания!