Поправки на хостинг при написании скриптов на PHP

21.11.2007

Итак, расскажу об основных правилах которые надо соблюдать на хостинге, хотя дома на них можно вообще не реагировать. Или реагировать – но правильно.

Права на новые файлы


Не надо никому доверять такие важные вещи. Если ваш скрипт создает какие-либо файлы обеспечьте к ним соответствующий доступ (в том случае если их необходимо будет редактировать по FTP, например, загружать в созданные директории новые картинки). Делается это на раз-два:
mkdir($dir,0777);

Собачки это сила


Используйте оператор подавления ошибок – @ перед вызовом файловых фукнций или функций генерирующих данные (например, list из массива). Некоторые могут сказать, мол это не совсем хорошо, но тут есть одна благая цель – не дать никому узнать (случайно или нет) реальные пути и директории на хостинге. Не за чем посетителям, а тем более нехорошим посетителям знать такие важные вещи. Частично это пересекается с выводом ошибок, но тут цель вовсе не убрать варнинги, а предвидеть где они могут возникнуть. А работа с данными – это самое оно.

Не показывать ошибок MySQL


Ни за что, никому, никаких и никогда. Разрешаю только грязно выругаться, если не сработал mysql_connect, да и то красиво, что бы пользователь понял, что отвалилась база данных. Но не больше. Еще хуже если вы напечатаете ваш запрос целиком. Так взломщику будет еще проще использовать обнарженную, случайно оставленную, SQL-Injection.

error_reporting = E_ALL


Для тех кто в танке – это такая настройка php-интерпретатора, управляющая выводом ошибок. Так вот – E_ALL это дома. А на хостинге никаких сообщений, даже если их никогда не было дома. Кто знает что там случится и какие данные поступят на вход. Все записываем в специальные логи и изредка смотрим что там случилось, пока вас не было.

Ожидается туман – сделай flush


Если ожидается, что скрипт будет работать очень-очень долго, и пользователь должен будет все это время ждать конца его завершения – выведите что-нибудь и сделайте flush, что бы браузер не вздумал разорвать соединение. Все просто:
echo str_repeat(" ",100);
flush();
Но можно использовать не только пробелы, но и надпись какую-нибудь умную. Пользователь должен знать, что что-то вообще происходит.


Комментирование этой статьи закрыто

Комментарии [10]

  1. Ноя 22, 20:17 , WEIDER

    про flush, дисконнект итд

    для чайников

    Некоторые серверы, особенно под Win32, будут, тем не менее, продолжать буферизовать вывод вашего скрипта, пока он не закончит работу перед передачей результатов в браузер.

    У Билла Гейтса спросили: – Какую лучшую операционную систему разработали люди? – UNIX. – А как же Windows? – Ну, Windows написал Бог.

  2. Ноя 22, 22:31 , Dead Krolik

    Не “особенно под Win32” а только под Win32. Но буферизируют если малыми порциями выводить. Если достаточно большими – буфер не делают. В данном примере 100 пробелов достаточно.

  3. Ноя 29, 20:54 , WEIDER

    Заяй!

    1)Я вот юзал пхп в детстве, скажу честно: ASP.NET рулит и все вы останетесь без работы..
    Даешь обсуждать dotNet!

    2)про оракл верно пишешь, забавный он..
    после MySQLя не знаю, а вот после sql servera вообще ГОВНО..(не вникая в реляционные “таинства” oracle и надувания щек всяких ODBAшников)

    Дерзай…
    Ждем статей про ASP.NET vs PHP !
    Защищайся!

    Принимай вызов от IT отдела одного полубандитского холдинга из белокаменной….:)

  4. Ноя 30, 00:01 , Dead Krolik

    Польщен :)

    1)Рулить оно может скока угодно, но пока что я быстрее найду работу зная пхп, а не какой-то там дот.нет. Спрос больше, а потому работа денежнее. Если асп’шники будут цениться дороже и им проще будет найти работу – с радостью туда уйду. Мне вон по ходу пьесы на клиппере приходится программировать, и ничего, живой пока что :)

    2)Это говно старее этого сервера раз в N.

    P.S Хм. Это что ли холивар тут устраивать вздумали?
    P.P.S. Я в ссылках вижу какой-то asadasd это реально сайт или типа буковки рядом лежат?

  5. Ноя 30, 13:48 , WEIDER

    asdasd.ru – енто “почтовый ящик без регистрации”...
    заглушка почты можно так сказать..вроде почта есть и прочитать можно, но вроде ее нет..

    советую! аскетично все там и не напрягает..:)

    клиппер и триппер это забавно, у меня вот знакомый из альфабанка, так у них до сих пор весь forex на VB 6..а куда деваться, только вот в этом говне ковыряца не хочется, даже за деньги..деградация так сказать...

    я не поклонник билла гейтца, но бабло творит добро и как бы чебурашки не хаяли вындовсы, а альтернатива пока не предвидится...как говорит один дешевый юзер: в линуксоидах все как виндовс,только вот игры ни одной не могу запустить..:) а с дровами там вообще не разбериха..федорино горе сплошное (Fedora Core) :)

    а то что один дебил дирехтур поставил спьяну, начитавшись статей про уязвимость виндовс, solaris+oracle, теперь вся фирма раком стоит уже пару лет....

    а все почему...да потому что не знают чебурашки, что такой вот “textpattern”, а конкретнее твой сцайт верстаеца на asp.net (не путать с asp) визуал студии за 30 мин…

    ты говоришь “работу найти быстрее”...ты что в мухосраньске живешь, что ли.. вроде вумный парень..такие из калифорнии должны рулить....
    ты кроме pascal на студенческой скамье изучал что нибудь?если нет, тогда остается только пхп юзать да триппер...

    я в детсве на Cpp переходил, долго ломало…но я себя поборол..а тоб до сих пор на такие журналы как MSDN и RSDN как на китайские иероглифы смотрел…

    вот я на пишу тебе в этом окне текстовом, а scrollbar вертикальный залазит на правую панель галубую...что это за разметка коченная такая..

    Пиши.

    P.S. Мы с тобой абсолютно незнакомы, просто случайно набрЁл на твой recурс..

  6. Ноя 30, 22:33 , Dead Krolik

    Еще раз польщен :)

    Живу я действительно в мухосранске, город называется Петрозаводск, 61 параллель.

    Спорить о том чего не знаю – не могу, не видел я асп.NET. Cpp я почти что понимаю, как идеологию. Завороты насчет того как можно заморочисто написать на cpp что бы никто не понял – вот это меня колбасит. В остальном – милый язык, за который фрилансом бабки не найти, только в виде основной работы, а там это никому пока что не нужно. В принципе курсач был на MSVC написан, программулина девайсом USB’шным управляла и даже !о_О! драйвер для винХП для этого девайса конструировал (не программировал, а просто курил на тему того как все это компилить и что туда свое добавить).

    P.S. Писать буду, просто жду выходных, что бы мысли оформить в красивое что-то.

  7. Дек 10, 19:41 , WEIDER

    Привет Кролл!

    Почему ScrollBar в окне где я пишу такой конченный!
    Когда исправишь? :)

    ну есть же всякие CSS типа…
    кидай мыло – я тебе скриншот пришлю, если не веришь! :)

    Ладна, Заяц, не огорчайся! Вали хотя бы в первопрестольную для начала..
    страшно видно как таланты на фрилансах погибают...
    ты вот от армии закосил или до 27 лет прятаца будешь?

    СДЕЛАЙ СТАТЬЮ ГДЕ БУДЕМ ОБСУЖДАТЬ ТЕМУ ПОД НАЗВАНИЕМ “КАК ПРОГРАММЕРУ ВЫБИТЬСЯ В ЛЮДИ”

    и будем там холиварить с задачей: выбить из колхозных самоучек страх,дурь,оседлость итд, баротся с пониженной самооценкой и лже-инженерным менталитетом (типа не моё это – бабло косить и темы рубить)
    типа жизнь вся впереди (пример из фигурного катания: кореянка сунь х в чай 14 лет отроду на гран-при в харбине прыгнула тройной каскад тройных прыжков, а в моем ледовом дворце 15 летние крали тройной прыжок ели ели выучили и с такой надеждой в жисть смторят, умора)ЛАЖА!

    Пиши!Пока!
    WEIDERNATURAL PRODUKT,CIVIL CONCEPTION,NORMAL POSITION
    ...самому смешно

  8. Дек 28, 23:14 , Dead Krolik

    Все будет. Как только разгребусь со всякими военкоматами. Темы предложены действительно интересные.

    Армия – зло. Военкомат – бесполезная организация.

  9. Фев 13, 13:39 , Real Man

    Спасибо, было интересно прочитать ^^

  10. Июл 26, 11:10 , Int

    Странный какой-то WEIDER
    Тебе, извини, сколько лет?

    Я вот что думаю: кому это выгодно, гнать на пхп?
    Ничего идеального нет, конечно. Но просто бесит когда вот так без аргументации и еще каким-то блатным жаргоном..

Комментирование этой статьи закрыто

Кто я


Возраст: 23
Профессия: заяц


Категории


Полезные ссылки


Стишок

Зайчик-зайчик, скок-поскок!
Н-нна тебе дробину в бок!
Не с капустой же мы будем
Жрать на Новый год пирог...

eu-shestakov.livejournal.com