Основы PHP

Отличие веб приложения от обычной программы

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

Они рассматривают систему браузер-сервер, как обычное интерактивное приложение. Они думают, что вся информация которая доступна клиенту - доступна и программе, что программа все время находится в памяти.

Но веб программирование отличается от обычной программы. В момент когда пользователь видит перед собой страницу и начинает совершать какие-то действия с ней, PHP уже завершил работу. И пользователь взаимодействует не с PHP скриптом, а со страницей HTML, которую он получил в браузер.Результатом работы скрипта на PHP в большинстве случаев является обычный HTML текст.

Читать дальше >

На заметку PHP программисту

1. Все элементы массива $_SERVER, начинающиеся со слова "HTTP_" - это HTTP заголовки. HTTP заголовки присылает клиент и верить им нельзя, так как их легко подделать. Их можно использовать дополнительно в справочных целях, которая, возможно, даст полезную информацию. 

2. Для логирования IP адреса пользователя использовать только REMOTE_ADDR, а всякие HTTP_X_FORWARDED_FOR, X_REAL_IP, VIA использовать только для дополнительной информации.

Читать дальше >

Источники PHP

Решил сделать список источников PHP. В интернете очень много статьей, уроков. Время от времени находишь новый сайт и добавляешь в закладки. А закладки так и остаются нетронутыми. Поэтому решил создать запись, которая содержала бы ссылки на интересные сайты, статьи или книжки. Список буду пополнять с обнаружением интересных источников информации.

Читать дальше >

Защита от SQL-инъекций

Отключаем "волшебные кавычки"

В настройках php, т.е в файле php.ini надо отключить следующее:
magic_quotes_gpc
magic_quotes_runtime

Если у вас нет доступа файлу php.ini отключить их можно в файле .htaccess:

php_flag magic_quotes_gpc 0
php_flag magic_quotes_runtime 0

Нам нужно их отключить, потому что они могут нам мешать. Начиная с версии 5.3.0 она считается устаревшей, а в 5.4.0 и вовсе удалена.

Читать дальше >

Профайлинг xDebug

Думаю многие программисты занимаются профайлингом. Это заметка для новичков как установить профайлер xDebug. 

Предполагается, что у вас:
- Операционная системы Ubuntu 12.04
- Установлен Apache2.
- Установлен PHP 5.3 или выше.
- Установлен xDebug.

Читать дальше >

Советы по улучшению кода

На авторство советов я не претендую. Просто решил собрать случаи которые для меня показались интересными.

Читать дальше >