Налаштування php

Налаштування PHP

У стрічки цей движок заснований на mod_rewrite, імнсхо, оскільки там апач варто

відповідний rewrite rule регекспів - і все ок. а в директорії хтмл'кі складати - занадто корявий перекрутив. 8)

ось приклад, як організувати подібне:

ми хочемо виводити новини з бази даних по запрошенням урі

робимо віртуальний хост

відразу привожу вибачення за довгий регекспів - пхп / перловий ^ / (\ d +) / (\ d +) / (\ d +) / (. *) / $ не прокатав. мабуть модіфер \ d rewrite engine не розуміє - у нього там якісь свої правила патернів.

прописуємо w3.lenta.ru в hosts на ip 192.168.10.1 (ip за смаком - у кого як відбудований локальний айпішник)

створюємо два файли в корені / wwwroot / htdocs / w3lenta /:

1. цей відповідатиме на запит w3.lenta.ru і в ньому, припустимо, будується лістинг по таблиці з 10-ти останніх новин, але ми сюди заб'ємо тестований урл.

2. цей буде виводити новина по date і anchor. коду не прописано, але зробити select announce, body, date from table where date = $ date AND anchor = $ anchor з таблиці новин, я думаю, труднощі нікому не складе. 8)

набираємо в ослику w3.lenta.ru, клацаємо лінк, і насолоджуємося результатом 8)

remarks: в реалі можна зробити, якщо адмін конфиг пропише або ти сам адмін. 8)

Vladimir N. Zaytcev <2:5015/116>

Я роблю так, як написано в прикладах, але змінні, що передаються в скрипт, що не видно. Чому?

$ _GET, $ _POST, $ _COOKIE, $ _SESSION, $ _SERVER (в PHP версії від 4.1) або, відповідно, $ HTTP_GET_VARS, $ HTTP_POST_VARS, $ HTTP_COOKIE_VARS, $ HTTP_SERVER_VARS (в будь-яких версіях PHP).

При цьому звернення до змінної наведеної в прикладі вище буде виглядати так:

$ _GET [ 'varname'] або $ HTTP_GET_VARS [ 'varname']

Serge V. Tarasov

Навіщо тепер register_globals = off?

Це зроблено для полегшення написання безпечних скриптів. При розробці досить складних проектів, коли число використовуваних змінних велике, дуже легко можна допустити використання неініціалізованої змінної, яка при register_globals = On може бути передана скрипту ззовні злісним хацкери. Тому, для написання хороших скриптів, рекомендується звертатися до вхідних змінних через зумовлені масиви (при цьому програміст, заздалегідь знаючи, що ці змінні передані зовні робить відповідні перевірки на коректність) і включити error_reporting = E_ALL (по крайней мере, на етапі написання і тестування скрипта ) для того, щоб PHP попереджав про використання неініціалізованих змінних.

Безумовно, можливе написання хороших і безпечних скриптів і при register_globals = On, але:
  • це вимагає значно більш уважного підходу до написання;
  • ці скрипти НЕ будуть коректно працювати на хостингу, де register_globals = Off (на відміну від скриптів, написаних для

register_globals = Off, які будуть коректно працювати скрізь);

УВАГА!
  • можливо, що з майбутніх версій PHP register_globals буде виключений взагалі.

Serge V. Tarasov

У мого хостера варто register_globals = off, як можна включити register_globals програмно?

Так як, ймовірно, в наступних версіях register_globals приберуть зовсім і поведінку PHP буде таким, як при register_globals = off, то розглянемо це питання під іншим кутом.

Оскільки існує безліч вже використовуваних скриптів (надійних і не дуже), які написані в розрахунку на register_globals = On, то додаванням кількох рядків коду змусимо скрипт працювати.

У загальному випадку, треба із зумовлених масивів $ _GET, $ _POST, $ _COOKIE, $ _SESSION, $ _SERVER (або які вам потрібні) імпортувати значення в змінні з іменами елементів. Hапример так (для змінних одержуваних за GET):

Природно, це негативно позначається на безпеці, оскільки після виконання такого коду у вас стануть глобальними всі змінні передані зовні (потрібні й непотрібні), тобто це все одно, що зробити register_globals = On.

Serge V. Tarasov

Налаштовуємо PDFLib для роботи з кирилицею. (Windows)

1) В директорії, де встановлено PHP - є папка "pdf-related".

Відкрити цю папочку, знайти файл "pdflib.upr".

Де: d - буква диска, а path / pdf-related - шлях до папки "pdf-related"

2) Тепер позначить шлях до файлу налаштувань "pdflib.upr":

а) Можна створити системну WIN-змінну:

б) Можна в PHP-скрипт вказати явним чином шлях до "pdflib.upr":

Igor Rulyov, info (c) de-kar.ru

Схожі статті