Мабуть продовжу свою нехитру серію 25, в цей раз згадаймо про наших помилках…

  • Книга по PHP за 2002 рік як джерело знань – це вже історія, раджу “PHP 5. Професійне програмування” – Е. Гутманс, С. Баккен – ISBN:5-93286-083-9, іль навіть новіші…
  • Використання web-сервера, де “все включено” (Denwer і іже з ним) – навчитеся сетапить самі, потім встигнете перейти на напівфабрикати
  • Використовуємо простенький редактор з підсвічуванням синтаксису – пора дорослішати і переходити на IDE, і з IDE збільшується швидкість розробки, особливо у великих проектах, де не один десяток класів.
  • В php.ini включений параметр register_globals – відключаємо це ЗЛО, за замовчуванням відключений, але Вам він навіщо-то знадобився
  • Реалізація “index.php” містить приблизно наступний код: – це вразливість, зветься PHP ін’єкцією – завжди перевіряйте вхідні дані.
  • Реалізація авторизації, коли рядок запиту до БД містить щось типу: “SELECT * FROM users WHERE login=”.$_GET[‘login’].” AND password=”.$_GET[‘password’] – читаємо що таке SQL ін’єкції (це відноситься до всіх вхідних даних і SQL запитами)
  • Довіряємо POST змінним більше ніж GET? – Будьте впевнені підробити так само легко, так що перевіряємо
  • AJAX це добре, дірявий AJAX – погано – не забувай перевіряти права доступу для функцій викликаються в AJAX’е
  • Не перевіряємо залиті користувачами файли – тепер і ми знаємо що таке PHP Trojan
  • Присвоювання в умові: таку помилку Ви будете довго шукати – намагайтеся уникати подібних конструкцій
  • Переписуємо функції PHP – скористайтесь пошуком по manual’y
  • Вираз – не спрацює якщо шуканий елемент доступний по ключу 0 “” – читаємо уважніше manual по кожній функції
  • Працюємо під windows, хостинг на linux і сайт не піднімається – ім’я файлу index.php, Index.php, INDEX.php і т. д. це все різні файли для linux систем, а ми про це забули
  • Відключення виведення помилок – код повинен бути чистим – так що error_reporting(E_ALL) Вам в допомогу, слідкуйте навіть за Notic’амі
  • Затока проект на хостинг – вимкніть помилок на екран – логируйте їх у файл – не будете червоніти потім
  • PHP файли мають не стандартне розширення (наприклад .inc замість .php) – якщо не захистити такі файли, то може бути дуже соромно
  • В розрахунку на short_tags, полінувалися писати повністю – тепер на новому хостингу переписуємо шаблони
  • Понадіялися на magic_quotes, тепер наше додаток надійно як швейцарський сир …
  • Дотримуйся стандарти кодування і пиши коментарі до коду – твої послідовники скажуть спасибі
  • Не пиши мати в повідомленнях про помилки і коментарях – замовник може переглядати і тоді прийдеться довго виправдовуватися
  • Читають статтю http://php.spb.ru/php/speed.html і думають, що тільки так можна/потрібно оптимізувати код – це “особина” оптимізація відноситься до PHP3
  • Реалізуємо функціонал БД засобами PHP – array_search замість WHERE, ну і інші чудеса незнання SQL
  • Стукаємо до БД в рекурсії – намагаємося обходити подібні реалізації
  • Не потрібно забивати цвяхи лещатами – “Мені треба реалізувати гостьову книгу – візьму-ка я свій улюблений набір бібліотек на 6 мегабайт”
  • Дізналися Smarty, і тепер впевнені, що навчилися розділяти логіку і відображення
  • Якщо є що додати – пишемо в коментарях…