PHP и регулярные выражения.
На сегодняшний день регулярные выражения являются одним из наиболее мощных средств анализа текстовых данных. Библиотеки для работы с ними написаны практически для всех языков программирования. В этой статье я расскажу о некоторых особенностях работы с регулярными выражениями на PHP.
Освежитель для сайта.
Один из основных способов привлечь посетителей на сайт — почаще обновлять содержащуюся на нем информацию. Заниматься этим совсем не просто и отбирает такое занятие слишком много времени, хотя, безусловно, и вознаграждается. В этой статье мы попытаемся запрограммировать этот процесс и сделать смену информации на сайте динамической. Было бы неплохо иметь самые свежие новости с 3DNews, синхронно с сайтом mycomp.com.ua показывать у себя содержание свежего МК, да и вообще иметь у себя на сайте всю свежатину, которую вы только захотите. Реализовывать все это мы будем на уже знакомом вам PHP.
Работа с шаблонами. Разработка собственных и использование существующих решений.
В этом выпуске мы поговорим о такой вещи как темплейты (templates) - что это такое, зачем это нужно и почему почти все это используют.
Яндекс-like поиск своими руками.
Редкий веб-программист не сталкивался с задачей написания поиска для своего сайта. Независимо от того – делалось ли это для собственной CMS или для первого сайта, сделанного фирме двоюродного дяди топориком на коленке в 10 классе.
Функции постраничного вывода в PHP.
Здравствуйте уважаемые читатели, сегодня хотелось бы обсудит проблему постраничного вывода в PHP и привести возможные пути решения. В этой статье я приведу довольно уникальную функцию с точки зрения её возможностей.
Самый быстрый способ определить количество пользователей на сайте онлайн.
Наверное, путешествуя в Сети, вы не раз натыкались на подобного типа надпись «Сейчас на сайте 99 человек», что означает, что кроме вас в данный момент этот сайт просматривает 98 человек. Скорее всего, вы хотели написать такую вещь, но не знали как. Следующая статья покажет как самому написать скрипт, считающий количество посетителей на сайте в данный момент, то есть онлайн.
И кто там у нас сейчас на сайте...
Наверное, путешествуя в Сети, вы не раз натыкались на подобного типа надпись «Сейчас на сайте 99 человек», что означает, что кроме вас в данный момент этот сайт просматривает 98 человек.
Учимся писать скрипты правильно.
Многие начинающие веб-программисты знакомятся с языком по средствам книг. Книга бесспорно очень важна и нужна, но в ней приводятся примеры (для начинающих), которые по своей сути не являются правильными с точки зрения устойчивости и переносимости скрипта.
Работа с WDDX в РНР.
Сегодня мы поговорим об очень важной технологии не только для мира Веб, но и для программирования в целом. А поговорим мы сегодня про универсальность данных и межплатформенный обмен информации. Как вы уже, наверное, поняли, для этого мы будем использовать технологии WDDX.
Руки прочь от PHP
Сегодня мне в асю кинули вот такой вот материал для размышления. К сожалению в Yandex'е я так и не смог найти сайт с оригиналом текста, но все же вот этот текст неизвестного автора.
Автоматический редирект (Auto Redirect) на PHP.
На полноту изложения темы я не претендую, это ведь статья, а не справочное пособие, но для начинающих будет вводной информацией в эту технику.
Генерация случайного пароля.
Этот урок покажет вам, как сделать генерацию случайного пароля с помощью PHP. Следующий код включает также проверку на минимальное и максимальное количество символов.
Модульное строение страницы.
Страницы сайтов обычно строятся по модульному принципу - например,
наверху каждой страницы находится название сайта с логотипом,
внизу - знак охраны авторских прав, слева - навигационная панель, посредине - собственно содержание web-страницы (статья, рецензия и т. п.).
При этом на всех страницах все части, кроме содержания, одинаковы (т. е. одинаковая шапка, панель навигации т. п.).
Пример универсального скрипта для обработки HTML-форм.
Задача: разработать скрипт для сохранения в файл значений, посланных HTML-формой. Каждое значение в файле должно иметь комментарий.
Фотомонтажим на PHP.
Возвращаясь к теме работы с изображениями в PHP, рассмотрим реализацию «смешивания» изображения из нескольких картинок, и способы практического применения такого трюка.
Начинающему php программисту или как начать зарабатывать. Хочу разместить в помощь начинающим php программистам небольшую памятку. Что и как нужно делать чтобы изучить php и начать зарабатывать на своем ремесле.
Web Основы с LWP.
LWP (сокращение от "Library for WWW in Perl") это очень популярная группа модулей языка Perl для доступа к данным в сети Internet. Как и большинство модулей языка Perl, на каждый модуль из состава LWP присутствует документация с полным описанием его интерфейса.
Работа с текстовыми и графическими данными совместно в PHP и MySQL.
Я прочитал много документов посвященных этой теме, в результате попробовал десяток из них, и ничего не получив в ответ правильно работающего, решил сам написать более менее подходящий для моей задачи решение.
Изменение внешнего вида счетчика в CNStats.
При установке CNStats в разделе "Конфигурация - Код счетчика" Вам предлагается для размещения на сайте два типа кода:
Полная статистика посещений.
Сегодня, даже далеко не все платные хостинг-компании предоставляют полную статистику посещений вашего сайта - что уж говорить о бесплатных.
Простая баннерная система phpFBS.
Для небольших проектов, если они изначально не ориентированы на рекламу, часто возникает потребность партнёрского обмена баннерами. Обычно такое случается пару раз в месяц, и вы решаете, что неплохо бы иметь под рукой инструмент, с помощью которого можно легко и просто управлять баннерными местами на страницах вашего сайта.
Как защитить сайт от тотального скачивания.
Бывают такие случаи, когда владелец сайта не желает, или не может, отдавать свой сайт целиком своим посетителями. Приведем простой пример:
21 ошибка программиста PHP.
Эта серия статей предназначена для тех программистов на языке PHP, которые хотят избежать наиболее общих ошибок в написании кода. Читатель, как минимум, должен знать общий синтаксис PHP, а также весьма желателен некоторый опыт использования языка на практике.
Защита Web-форм от автоматической обработки.
Статья описывает способ реализации механизма, позволяющего бороться с автоматическим заполнением форм, ложными регистрациями и спамом через форму обратной связи.
Гостевая книга шаг за шагом.
В этой статье мы научимся создавать гостевую книгу на PHP. И хотя эта статья написана для новичков, но Вы должны обладать хотя бы азами программирования на PHP.
Гостевая книга на PHP/MySQL.
Сегодня расскажу вам о том, как написать гостевую книгу на PHP и MySQL. Ничего сложного в этом нет, да и возможности данной гостевой не самые большие: постраничный вывод записей, проверка вводимых данных, возможность удалять записи.
Пишем скрипт гостевой книги.
В этой статье мы рассмотрим, как написать свою гостевую книгу. И так поставим цель: простейшую гостевую книгу на PHP с использованием базы данных MySQL. Наша гостевая не будет обременена красивым интерфейсом и защитой, главное, чтобы она работала.
Как слать письма PHP аттачами.
Как послать письмо в HTML виде? Присоедините к письму аттач с названием message.html и письмо превратиться в HTML-письмо!
Ещё о защите e-mail адресов на веб-страницах.
О защите e-mail адресов от сканирования спам-роботами в Интернете писалось немало. Скорее наоборот, очень много. Однако все способы сводятся в основном к одному – кодирование адресов таким образом, чтобы спам-роботы не смогли его распознать, а для человека это не составило бы труда.
Время, затраченное на генерацию PHP скрипта.
Есть сайты, у которых в низу висит: страница сгенерировалась за 0.0068 сек., сегодня мы сделаем тоже самое.
Безопасный и удобный поиск на PHP.
Главное, с чем сталкиваешься при написании скрипта для поиска - то, что все кажется
простым, но объем кода быстро нарастает.
Установка защиты на страницу используя MySQL и PHP.
Это - обучающая программа которая должна вам показать основы защищиты ваших страниц в сети, использующие http аутентификацию.
Защита от автоматической регистрации при помощи картинки.
В последнее время в Интернете все чаще можно встретить разнообразных спам-ботов, которые не только автоматически регистрируются, но и добавляют спам-сообщения на форумах, в комментариях и т.п.
Красивый код на PHP.
В жизни любого веб программиста рано или поздно наступает такой момент, когда он задумывается не только о том, как написать скрипт, но и том, как его написать, что бы в коде смог разобраться другой человек.
Использование ext/mysqli: Часть I - Обзор и подготовленные выражения.
Статья предназначена для читателей, имеющих некоторый опыт использования PHP и MySQL. Она предполагает, что читатель понимает основные принципы работы с базами данных и программирования и может использовать сценарий PHP для отправки запроса серверу MySQL.
Основы ООП.
В последнее время идея объектно-ориентированного программирования (ООП), кардинально новая идеология написания программ, все более занимает умы программистов.
Оптимизация программ на PHP.
В этой статье на простых и очевидных примерах рассказано о некоторых способах оптимизировать любую (готовую) программу, не меняя ни одного алгоритма. Для такой оптимизации можно даже написать программу для автоматического выполнения всех рекомендаций, все они очень простые (правда, для начала придется написать парсер пхп-кода).
Постраничный вывод из MySQL.Итак, вы много раз видели, как дынные выводятся постранично и вы всегда хотели сделать так на своем сайте. Сегодня я расскажу как сделать постраничный вывод из MySQL.
Использование XML в PHP.
Эта статья, как Вы уже скорее всего поняли из названия, посвящена тому, как можно использовать XML для хранения данных, которые будут использоваться из скриптов, написанных на PHP. Бедем считать, что Вы уже знаете, что такое XML и с чем его едят.
Сжатие данных на PHP. Многие броузеры поддержывают gzip сжатые файлы в "прозрачном" для пользователя режиме.
Для текстовых файлов (html страниц) коефициент сжатия этим методом составляет 0.2-0.3,
т.е. данные сжимаются в 3-5 раз (на больших файлах - больше), что даёт такое же ускорение закачки страницы при других равных условиях.
Основы безопасности при работе с MySQL в PHP.
Эту статью мне очень хотелось бы адресовать в основном начинающим программистам, т.к. большинство из них еще не сталкивались со взломом их сайтов, построенных на основе MySQL. И поэтому не представляют, какую опасность хранит в себе неправильное использование необработанных MySQL запросов.
PHP5 - Новые возможности PHP5-Zend Engine 2_0.
Обработка объектов в Zend Engine 2 полностью переработана: повышена производительность и добавлены новые возможности. В предыдущих версиях PHP объекты обрабатывались так же, как и переменные простых типов (например, целочисленные значения или строки). Недостаток такого подхода в том, что при присваивании (или передаче объекта как параметра функции) происходило копирование объекта. При новом подходе, объекты передаются по ссылке, а не по значению (если вам незнакома эта терминология, можете представить себе ссылку как уникальный идентификатор объекта).
Как писать классы в PHP.
Эта статья о том, что представляют из себя классы, написанные в PHP, о том, как их лучше писать для улучшения быстродействия, и каких распространенных ошибок нужно избегать, что бы не разочароваться в возможностях, как своих, так и в возможностях PHP в целом.
Защита сайта от спамеров с использованием PHP. Практическое применение кода подтверждения с картинки.
В настоящее время множество хороших сайтов страдает от огромного потока рекламных объявлений или просто спама, который не добросовестные пользователи интернета пытаются расположить везде, где только это возможно: в гостевых книгах, форумах, каталогах и везде, где только можно оставить пару строк своего текста.
Защита сайта. Блокировка ip адреса.
Сейчас в интернете очень активно спамят посещаемые и не очень интернет-ресурсы различных направлений и тематик. Несмотря на множество всевозможных способов защиты, расположенных на большинстве сайтов, спамеров остановить не всегда получается.
Класс для создания меню навигации на сайте.
Навигация – это можно сказать главный элемент каждой веб-страницы. Без правильно оформленной навигации, понятной каждому пользователю, хорошего сайта получиться не может в принципе, потому что большинство посетителей сайта попадают на него из поисковые системы.
Собственная статистика поисковых слов (Яндекс, Рамблер, Google,...) на PHP.
В этой статья я бы хотел поделиться с вами своей новой разработкой – анализатором поисковых запросов с популярных поисковых систем
Аспектно-ориентированная веб-разработка и PHP.
Данная статья знакомит читателя с популярной парадигмой аспектно-ориентированной разработки программного обеспечения (AOSD). Статья содержит множество практических примеров, призванных конкретизировать столь абстрактную область как AOSD и помочь быстрее понять и оценить преимущества данного подхода. Статья рассчитана в первую очередь на программистов PHP. Цель ее в том, что бы показать, как можно использовать AOSD в PHP проектах уже сегодня
Краткое описание регулярных выражений: POSIX и PCRE.
Описание базовых принципов и понятий работы регулярных выражений.
Описание синтаксиса языка регулярных выражений стандарта POSIX. Функции. Примеры.
реимущества стандарта реглярных выражений PCRE над POSIX. Рассыльщик почты с обильным использованием PCRE.
Обработка запросов к БД при помощи PEAR::XML.
Проект, работающий на технологиях XML, требует иного подхода к формированию документов. Инструменты, сделанные для формирования HTML-документов, часто оказываются непригодными, и требуются новые, имеющие несколько иную концепцию.
Хранение древовидных структур в Базах данных (Nested Sets).
Описание хранения древовидных структур в базах данных по методу вложенных множеств (Nested Sets)
ADODB – русская документация (часть 1).
Функции доступа к базам данных в PHP не стандартизированы. Это создает потребность в классе, который бы скрыл эту разницу в программном интерфейсе при работе с различными базами (инкапсулировать различия), позволяя легко переключаться с одной базы данных на другую. Для работы вам потребуется PHP версии 4.0.5 и выше, поскольку в скриптах используется str_replace.
Отрисовка связанного дерева с помощью XSLT - как с умом использовать XSLT и XPath.
Одна из вещей, которая мне нравится в XML и связанных с ним технологиях - это то, что там всегда можно научиться чему-то новому. Я использую XML уже более трех лет, и чуть ли не каждую неделю я с удовольствием обнаруживаю что-нибудь новенькое, что можно делать с его помощью, или, даже лучше, более лёгкий способ сделать что-то, в чем, по моему мнению, я уже разбираюсь.
Спецификация и функции DOM в PHP.
Иногда хочется отвлечься от текущей рутины кодирования и от небольших проблем, которым посвящается место в статьях на "деталях". Окинуть взглядом то, что делаешь долгое время. Итак, моё видение подходов к основной задаче php-программирования — генерации веб-страниц.
Создание изображений средствами PHP.
PHP не только идеально подходит для вывода HTML страниц, но также включает в себя мощные средства создания изображений "на лету".
Настройка параметров PHP в php.ini.
php имеет множество настроек, описанных в файле php.ini. Этот файл должен быть доступен в системных путях поиска для того, чтобы php мог использовать эти настройки.
Хэширование паролей в PHP. В этой статье мы рассмотрим процесс хэширования паролей, не слишком сложный, но относительно мало распространенный процесс в web-программировании. Хранение паролей пользователей в открытом виде в базе данных - не слишком хороший подход, особенно если к этой базе может получить доступ любой пользователь интернета.
Абстрактные классы и интерфейсы.
Эта статья предназначена для опытных PHP-программистов, которые хотят разобраться в том, как работать с типами классов в PHP 5 через приведение типов , абстрактные классы и интерфейсы. Предполагается, что читатели уже знакомы с объектно-ориентированным программированием, включая устройство самих классов и механизм наследования.
Вывод сообщений пользователю в веб-приложениях.
Вывод сообщений пользователю — довольно распространенное действие, которое должно выполнять веб-приложение. Оно может происходить при обработке форм, это могут быть сообщения об ошибках, а также сообщения, которые говорят, что надо зарегистрироваться, когда пользователь пытается получить доступ к ограниченной части сайта, и во многих других случаях.
Манипулирование датой на PHP.
Как то раз, когда я писал некое подобие программы управления центром поддержки, я заметил, что мне нужно посчитать, сколько времени прошло с того момента, когда кто то в последний раз связался с клиентом насчет решения его проблемы.
Правда о Сессиях.
Почти каждое PHP-приложение использует сессии. Эта статья детально рассматривает реализацию безопасного механизма управления сессией на PHP.
Реализация шаблонов на PHP.
Добрый день уважаемые господа! В данной статье я хотел бы затронуть очень важную тему, а именно шаблоны в PHP. В этой статье я приведу простой, но работающий пример “шаблонов”, также мы рассмотрим все за и против использования шаблонов.
Дверца в защите: почтовый веб-интерфейс.
Сегодня я хочу рассказать уважаемой публике, как можно воровать адреса с некоторых веб-мейлов. Я сказал "как можно", а не "как нужно"! Успокойтесь, ничего особо ценного, как "инструментарий юного хацкера" в этой заметке не будет.
ЧПУ и PHP (revisited).
ЧПУ — это термин, придуманный командой НовоКиберска, обозначает он «Человекопонятный УРЛ». Термин нигде широко не употреблялся, пока я не написал 5 сентября 2000 года заметку «ЧПУ и PHP». За эти три года термин довольно неплохо раскрутился.
FAQ по ЧПУ (человекопонятные URL).
Благодаря вышеприведенным правилам, вместо виртуального /some/interesting/page/ будет вызван URI /index.php/some/interesting/page, а обращения к реально существующим файлам обрабатываться не будут.
Написание автоматических тестов и среда phpUnit.
Главная задача профессионального php-разработчика - cоздание в максимально короткий срок программного обеспечения, полностью удовлетворяющего заказчика. Скрипты должны делать именно то, чего от них ожидают. Самый простой пример - форма обратной связи, которая по нажатию на кнопку при условии корректного заполнения полей отправляет почту или записывает данные в таблицу БД.
Объектно-ориентированное программирование на PHP. Классы.
Мой путь к пониманию объектов шел слишком долго. Надо сказать, что закончился он чрезвычайно неожиданно - я прочел... мануал PHP 4. Где можно найти толковое описание, только не там, казалось бы... Правда, уже до этого я кое-что знал ("...объект, сочетающий в себе как совокупность данных, так и действий над ними." (с) Епанешников, "Программирование в среде Turbo Pascal 7.0"), но это уже детали.
Создание таблиц Excel на PHP.
Подразумевается, что у Вас есть элементарные знания Excel, но ничего слишком серьезного. Вам даже не обязательно иметь копию, все приведенные примеры работают так же хорошо и с OpenOffice Calc.
Что такое PDF и как его можно прикрутить к web-приложениям средствами PHP.
В наше время формат документов PDF приобретает большую популярность. Он был разработан компанией Adobe Systems Incorporated. Как указано в документации, THE ADOBE PORTABLE DOCUMENT FORMAT (PDF) - переносимый формат документов
Собираем поисковый механизм на PHP/MySQL.
Итак, у вас полностью динамический сайт, на котором находится большое количество различных данных (любого вида - форумы, статьи и т.п.). Преимущественно большие данные хранятся в BLOBах (чего и вам наверное не удалось избежать), следовательно невозможно сделать ничего полезного, используя стандартный вид запроса LIKE %searchword% так как вывод не будет соответствующим (то есть релевантным).
PHP: Использование XML Paser Functions при работе с шаблонами.
Несмотря на то, что идея разделения кода и данных не нова, она сохраняет свою актуальность. Удобство неоспоримо - так как люди изменяющие данные зачастую не должны иметь доступ к коду.
HotMail своими руками, или Что может PHP.
В этой статье я хотел бы продемонстрировать, что создание работоспособных и полезных динамических web-узлов вовсе не такая сложная задача, как может показаться при чтении текстов, описывающих интерфейс cgi.
Применение класса myXTree.
myxtree - это интерфейс к sql дереву. Об sql деревьях написано достаточно много (см. ссылки), поэтому достаточно только упомянуть, что в myxtree используется модель вложенных множеств с добавлением ещё одного параметра depth (глубина).
Использование сокетов в PHP. php может открывать сокеты на локальной или удаленной машине. В данной статье будет рассмотрен пример использования сокетов для: соединения с usenet-новостным сервером, ведения диалога с ним и скачивания некоторых статей.
Времена и даты.
Раз уж разговор коснулся даты, попробуем разобраться как все это можно использовать в своих собственных целях. В РНР наиболее часто используется функция date в формате $date=date('параметр'); Параметров может быть несколько, и разделяются они между собой запятой.
Движок для сайта своими руками. Часть вторая.
В прошлый раз мы рассмотрели способ организации «базы данных» без собственно самой базы данных. Сегодня продолжим тему создания «без-mysql’ного» сайтового движка разговором об каталогах, файлах и include’ах. Также будет немного теории и практики о собственно работе такого двигателя.
Предопределённые переменные PHP.
$_server это массив, содержащий такую информацию, как headers/шапки, paths/пути и размещение скриптов. Вхождения в этом массиве создаются web-сервером.
Битва со списками или применение классов для вывода списков в PHP.
Список, список, список… Открываешь файл любого интернет-проекта, основанного на технологии php+mysql, и первое, что видишь - это куски кода, примерно такого вида:
Делаем простейшее подобие интернет-магазина.
Хотя, конечно, вернее будет назвать это "система заказа товаров на сайте". Но, глядя на сайты многочисленных российских фирм, которые работают именно по такому принципу (www.dostavka.ru, www.depo.ru, www.wstore.ru), мы тоже с пафосом назовем набор простеньких скриптов "ИНТЕРНЕТ-МАГАЗИН".
Справочник по мета тегам.
Мета теги — это необязательные аттрибуты страницы, размещенные в ее заголовке, которые содержат описание страницы, ключевые слова к ней, некоторую информацию об авторе, управляющие команды для поисковых роботов и прочую служебную информацию, не предназначенную для всех посетителей.
Регулярные выражения используются для сложного манипулирования строками в PHP.
Поддержка интерфейса между скриптом и регулярными выражениями осуществляется через следующие функции: split(), ereg(), ereg_replace(). (доп. редактора). Первым аргументом для всех трех функций - это строка, задающая регулярное выражение.
Защита сайта от скачивания.
Бывают такие случаи, когда владелец сайта не желает, или не может, отдавать свой сайт целиком своим посетителями. Как это сделать?
Посещаемость сайта рефералами.
Каждому владельцу ресурса не будет лишним знать, откуда именно заходят посетители на его сайт. Для тех, кому интересно решение данной проблемы (задачи) с помощью php, и посвящена данная статья.
Использование сессий в PHP.
Очень часто при написании скриптов на php необходимо хранить некоторую информацию о посетителе в течение всего сеанса его работы. Типичным примером такой ситуации является необходимость "помнить" логин и пароль пользователя при его нахождении в закрытой части сайта (например, на форуме). Собственного говоря, именно для этого и существует механизм сессий, реализованный в php, однако давайте все по порядку.
Системы голосований на РНР.
Виват, дорогие читатели ! Сегодня, в этот ничем не знаменательный день, а может быть совершенно наоборот, я написал "это", а сейчас вам предстоит всё "это" прочитать, а самое главное понять. Сегодня мы с вами посвятим время такой теме, как "Системы голосований на РНР".
Анализ посещаемости сайта рефералами.
Каждому владельцу ресурса не будет лишним знать, откуда именно заходят посетители на его сайт. Для тех, кому интересно решение данной проблемы (задачи) с помощью PHP, и посвящена данная статья.
Эмуляция директивы register_globals on.
Есть в PHP такая интересная директива, под названием register_globals, определенная в php.ini. Директива указывает компилятору, что значения входящих (глобальных) переменных следует изъять из их системных массивов и представить в виде самостоятельных переменных.
Серверные скрипты. Введение.
Этим "опытом" я хочу начать новый большой раздел. В свое время перед любым вебмастером встают вопросы такого типа: "как сохранить информацию на сервере", "как отправить результаты заполнения формы на емэйл".
Модульное программирование на PHP или как написать маленький портал.
Я попытаюсь тут разъяснить то, как я подхожу к написанию сайтов, где могут применять подключаемые модули. Пример тому известный скрипт PHPNuke. Как бы не ругали его, подход, примененный в нем, к модульному программированию очень удобен.
Создание таблиц Excel средствами PHP. Подразумевается, что у Вас есть элементарные знания Excel, но ничего слишком серьезного. Вам даже не обязательно иметь копию, все приведенные примеры работают так же хорошо и с OpenOffice Calc.
Поиграем с PHP - "Поле чудес".
Дело было вечером, а может и нет - не припомню :) Под звуки Dj Quicksilver'a я, продолжая свое изучение PHP, дошел до раздела "Работа со строками". Благо там все было написано понятным языком, поэтому после прочтения раздела возникло желание "закрепить" полученные знания на практике.
Подтверждение регистрации на РНР.
Привет всем кто в данный момент находиться в этой воображаемой аудитории, и сейчас будет слушать невыносимый бред старого профессора J
Что ж, коль начали так, то тема сегодняшней лекции будет такова - "Подтверждение регистрации на РНР".
Как через форму положить файл на сервер.
Один из частых вопросов, это как через форму положить файл на сервер. Делается это весьма легко, всего около 10 строк кода и php скрипт готов. И при этом ничего кроме php вам не понадобится.
Отправка файлов аттачем.
Сущность механизма отправки файлов в текстовом сообщении заключается в том, что письмо состоит из нескольких частей, границы которых обозначены уникальной сигнатурой. Именно она и позволяет Вам прикладывать к письму несколько файлов и не смешивать их содержимое в процессе передачи данных.
RSS-парсер на PHP.
RSS (really simple syndication) был разработан фирмой netscape и представляет собой расширение xml созданное специально для оформления новостных лент.
На сегодняшний день формат пережил уже 2-ю редакцию и является общепринятым стандартом для разметки новостей.
Контролируемая отдача файлов.
Если у Вас возникла потребность в отдаче (выгрузке) файлов Вашим пользователям, и Вы хотите контролировать кому, с какой скоростью и сколько отдать, предлагаю Вам свой php-класс.
Генерация Flash на веб-сервере в PHP.
Обычно при создании flash-роликов подразумевается, что они изготавливаются, а затем уже и размещаются на сайте. Практически всегда, так оно и есть. Но ведь сам Интернет предполагает некую интерактивность. И действительно, во flash существует возможность описания реакций на определенные действия пользователя. Но, вместе с тем, увеличивается объем файла, значительно усложняется программирование. А ведь как было бы удобно, чтобы flash-ролики генерировались прямо на сайте исходя из определенных условий.
Анализ и отображение логов.
Хочу снова похвалиться своим "творчеством". В декабре я описал, как проще всего собирать логи. Сейчас я покажу, как их можно анализировать.
Делаем свою RSS ленту.
Полагаю, что практически все слышали о том, что бывают ленты новостей. Но далеко не все сайтовладельцы пользуются этой несомненно полезной вещью. А ведь если Вы - владелец форума или новостного сайта, rss - штука весьма нужная, она позволит Вашим посетителям просматривать заголовки новостей и заходить на сайт только для прочтения того, что им действительно нужно и интересно. Одним словом, я решил по возможности коротко рассказать о том, как создать свою rss-ленту, взяв как пример скрипт, сделанный мною для нашего форума.
Предохраняйся с помощью сессий.
В статье я опишу как создать небольшой, но действенный скрипт авторизации, который не позволит непрошенным личностям совать свой длинный нос на ваш сайт.
Свой сайт на PHP.
Вообщем при всём моём не знании PHP и прочих примудростей типа Apache и так далее, мне нужно было поднять сайт с админкой на локалке. Не спрашивайте зачем, просто нужно было и всё.
Обработка ошибок в PHP.
PHP предоставляет прекрасную возможность контролировать возникающие ошибки. Здесь мы поговорим о том, как обработать ошибку - сообщить (или не сообщить) о происшествии пользователю, в случае необходимости - сообщить администратору с помощью электронной почты, записать информацию о происшествии в log-файл.
Установка пароля на страницу.
Я решил описать способы закрыть паролем часть сайта. Тема, на самом деле, большая, поэтому на первый раз ограничусь авторизацией php+mysql.
Расширения PHP для работы с mp3.
На сегодняшний день музыкальные магазины online, наподобие Musikload[1], становятся все более распространенными и пользуются бешенной популярностью. В этой статье мы расскажем как можно читать мета-информацию mp3-файла средствами PHP, что поможет вам в создании каталога музыки. Это очень просто, поддержка базы данных не нужна.
Отправка писем при помощи PHP-Прикрепление файла.
Письмо, содержащее прикрепленный файл, несколько отличается от простого.
В нем добавляются некоторые заголовки, и немного меняется само построение,
хотя несомненно само письмо остается текстовым файлом. Но давайте все по порядку.
Форма обратной связи.
Вы когда-нибудь хотели установить на свой сайт форму обратной связи? Наверняка Вы встречались с подобными скриптами. Как ни странно, готовые скрипты отправки формы на email пользуются большой популярностью (Вы можете убедиться в этом в любом архиве скриптов), причем их существует великое множество.
Безопасность PHP+MYSQL+Apache.
Есть у нас php скрипт, который обращается к mysql БД. Если мы впишем в скрипт, условно говоря, root mysql'я, то можем ли мы рассчитывать на безопасность действий (адекватность и однозначность написанных операций) с БД? Можем ли мы рассчитывать на безопасное хранение пароля в пхп-скрипте?
Создание водяных знаков с помощью PHP.
Одной из интересных вещей, которые вы можете сделать с помощью библиотеки работы с графикой в PHP GD, может быть класс, который ставит водяные знаки (watermarks) на изображение.
Неоправданное использование ООП.
Парадигма ООП - замечательный подход к написанию кода. У ООП есть множество неоспоримых преимуществ, самое значительное из которых - возможность использовать заново уже некогда написанный код. Однако все мы рано или поздно осознаём тот факт, что 'PHP - не объектно-ориентированный язык'.
Как сделать свою RSS-ленту.
Полагаю, что практически все слышали о том, что бывают ленты новостей. Но далеко не все сайтовладельцы пользуются этой несомненно полезной вещью. А ведь если Вы - владелец форума или новостного сайта, rss - штука весьма нужная, она позволит Вашим посетителям просматривать заголовки новостей и заходить на сайт только для прочтения того, что им действительно нужно и интересно. Одним словом, я решил по возможности коротко рассказать о том, как создать свою rss-ленту, взяв как пример скрипт, сделанный мною для нашего форума.
Простой способ кеширования страниц.
Сайт динамический. Часть страниц меняется редко, а хитов по ним много. Знакомая ситуация? Еще бы. Надеюсь, эта статья поможет Вам несколько ускорить загрузку таких страниц и снять лишнюю нагрузку с сервера.
PHP пример парсинга URL для «User Friendly URLs».
Во многих статьях встречал описание user friendly urls, но ни разу не было приведено простого и понятного примера реализации. В этой статье приведен такой пример.
Работаем с файлами на PHP.
В настоящее время существует огромное количество средств для создания по истине интерактивных веб приложений. Среди наиболее популярных стоит отметить asp, perl и php. Эти средства прочно вошли в жизнь веб-разработчика. На данный момент самым быстро развивающимся является язык php. Поэтому рассмотрим его возможности более подробно.
PHP поддерживает реализацию механизма отправки заголовков HTTP.
В соответствии со спецификацией http, этот протокол поддерживает передачу служебной информации от сервера к броузеру, оформленной в виде специальных заголовков.
Дата на русском языке.
Попалась мне статья некого Андрея Кухарчика: "Программируем на РНР". В ней был написан занятный скрипт вывода даты на русском языке. Но уж очень большой, на мой взгляд, он был.
Выбор из БД в случайном порядке на PHP.
Есть несколько задач, для которых необходимо в случайном порядке выдавать на страницу несколько записей, считываемых из базы данных. Например, это может быть баннерная крутилка или раздел сайта "случайная мысль". Так вот, можно реализовать эту задачу несколькими способами, и о двух из них я бы хотел рассказать в этом уроке.
Как бороться с magic_quotes_gpc.
В настоящей статье пойдет речь об одном из конфигурационных параметров языка программирования PHP — magic_quotes_gpc. Этот параметр играет важную роль, касающуюся, прежде всего, безопасности функционирования любого веб-приложения, обрабатывающего данные, полученные от пользователя и использующего для их хранения базу данных MySQL.
Заголовок If-Modified-Since, если PHP не установлен как моду.
Наверное, каждый веб-программист, интересующийся кешированием веб-страниц на стороне клиента, знает о таких заголовках HTTP, как «If-Modified-Since» и «If-None-Match». Данные заголовки отправляются браузером при обращении к странице, которая имеется в его кеше. Для правильной организации кеширования на стороне клиента, серверному приложению необходимо отправлять заголовок «HTTP/1.0 304 Not Modified» и прекращать передачу данных в случае, если содержимое запрашиваемой страницы не изменилось с того момента времени, которое указано в присланном заголовке «If-Modified-Since».
Php блокировка.
Суть проблемы такова:
Есть база данных, используемая на сайте (например, база для регистрации пользователей, куда записывается их имя и email), она лежит в текстовом файле построчно (в дальнейшем, "file_base.dat".). Два пользователя активизируют сервер через командную строку в броузере, для ввода свох имен и email. Сервер отсылает их к скрипту. Оба пользователя "начинают движение" по скриптовому потоку (тексту php файла) сверху вниз, причем, Первый "бежит" на долю секунды быстрее Второго. Когда они достигают того места, где скрипт исполняет их запрос, движение по потоку останавливается, в их броузер выводится сгенерированная скриптом страница в виде html. Чтобы из file_base.dat прочитать данные, этот файл надо открыть на чтение (функция - @file), чтобы записать что-то в него, надо открыть на запись (функция - @fopen). В скрипте это выглядит так:
PHP и DNS. Проверка почтового адреса.
Обычно когда требуется послать сообщения по адресу username@someserver.com, необходимо сначала узнать хост почтового ретранслятора для домена someserver.com, а затем получить его ip-адрес. После этого можно соединяться с хостом для доставки почты. В домене может быть несколько почтовых ретрансляторов с разными значениями предпочтения, поэтому, получив список ретрансляторов, имеет смысл устанавливать соединение с тем из них, который имеет максимальное значение предпочтения.
Как разбивать запрос на страницы (постраничный вывод данных)?
Что такое разбивка на страницы? Самый простой пример - поисковые машины. Вы даете команду на поиск в ответ на что сервер выдает тысячи ссылок (и прочая информация типа названия страницы, даты, и пр.). Но находится данная информация не на одной странице. Она разбита на части. В этом примере вы научитеть разбивать результат поиска по базе данных на куски, чтобы организировать постарничный вывод.
PHP include уязвимость: от теории к практике.
В этой статье я расскажу вам об одной из самых распространённых уязвимостей, встречающихся в php-сценариях - include "баге". Вы узнаете как принцип действия, так и некоторые способы устранения данной уязвимости.
PHP и XML.
Итак, поговорим об XML. Что же это такое и почему многие профессиональные программисты предпочитают его всем другим форматам? И почему так много хвалебных отзывов со стороны тех, кто с ним столкнулся? И почему, наконец, так мало негативных отзывов от тех, кто с ним не сталкивался :-)?
Грамотная работа с файлами: исключительная блокировка файлов.
Итак, начнем с того, что же такое исключительная блокировка файла и для чего она необходима. Не секрет, что множество сайтов хранят свою информацию не в базах данных, а в простых тестовых файлах
Как узнать размер файла на каком-то веб-сервере.
Чтобы это сделать, надо открыть сокет (установить соединение с удаленным веб-сервером). Сокет - это файл, в который можно писать и читать. Далее в сокет (как в файл) надо
Регулярные выражения.
Регулярные выражения - черезвычайно мощный инструмент работы со строками. С их помощью можно проводить анализ и изменение строк на основе заданного шаблона
Обработка строк в РНР.
Одной из наиболее часто встречающихся задач в программировании является обработка символьных последовательностей. Если проще – строк. Как это делается на языке гипертекстового препроцессора РНР и есть тема этой статьи
Создание системы учета посещений.
У вас может возникнуть вопрос, зачем это нужно? Свои услуги предлагают более десятка российских и огромное множество иностранных систем статистики. Так зачем лишний раз напрягаться, писать и отлаживать скрипты, создавать базы и, вообще, совершать какие-либо телодвижения, когда, потратив 10 минут, мы получим полноценную систему статистики, которая предлагает нам, просто, безграничное количество данных о пользователях нашего сайта.
Десять правил написания безопасного кода на PHP.
В серии статей "Ten Security Checks for PHP" кратко рассматриваются 10 наиболее часто совершаемых PHP программистами ошибок, приводящих к проблемам с безопасностью скриптов
Потенциальная уязвимость php-скриптов.
Функции fopen, file, include и require могут открывать файлы с других сайтов по протоколам http и ftp. Эта возможность несёт в себе потенциальную уязвимость в php-скриптах, позволяющую использовать сайт как прокси.
Предупреждаю ничего нового в этом материале не будет. Несмотря на впечатляющие возможности для злоумышленника, данная уязвимость — просто комбинация общеизвестных свойств php.
Удаление строки из файла.
Я очень часто встречаю вопрос типа "Как удалить определенную строку из файла?". Народ совсем не хочет шевелиться, ведь так легко зайти на любой крупный форум по PHP, и в сроке поиска написать что-то типа "Удаление строк из файла". Пятерка результатов гарантирована. Итак, мы как раз рассмотрим способ удаления определенной строки из текстового файла
Генератор паролей.
Почти на каждом сайте с регистрацией есть форма "Вспомнить пароль", с ее помощью можно получить забытый пароль не E-Mail. Высылать пароль не совсем безопасно, так как зачастую пользователи используют один пароль в нескольких местах. По этому, хорошим тоном является замена старого пароля на новый, созданный автоматически
Форматируем дату, полученную из БД.
Я делаю свою CMS и в модуле новостей возникла необходимость преобразовать формат даты, которую возвращает MySQL в более менее приличный вид
Безопасное программирование на PHP.
В этой статье я хочу рассказать основные принципы безопасного программирования на PHP. На написание статьи меня подтолкнул тот факт, что в интернете очень много статей о том как взламывать сайты через дыры в PHP-скрпитах, но очень мало советов (и все они разбросаны) как не делать ошибок, через которые сайт может быть взломан. Статью я решил разделить на несколько частей, каждая из которых посвящена какому то типу ошибок и примером, как этой ошибки избежать. В конце статьи я хочу дать общие советы. Итак, приступим
Гостевая книга на PHP.
Гостевая книга - один из полезных инструментов Web-мастера, позволяющий узнать мнение о своей работе, то есть о созданном сайте. Сейчас мы рассмотрим как написать гостевую книгу своими собственными руками (только драйвер "прямые_руки.dll" установите :) и поехали ...)
BB-коды.
Эта статья о том, как на вашем сайте, при помощи PHP, можно сделать проверку на BB-коды. BB-коды – это почти что те же самые теги в “HTML” документе, только имеют четкую и менее функциональную структуру. “Для чего тогда нужны BB-коды?” – Вы спросите. Для того, что user не смог испортить или сломать ваш сайт.
RSS генератор. Что такое RSS? Если коротко, то это формат обмена контентом, базирующийся на XML. Любой интернет-ресурс, содержащий обновляемый или пополняемый контент, может заиметь у себя RSS ленту, и тогда пользователи этого ресурса получат быстрый и удобный способ получить свежие материалы.
Итак, задача: написать простой генератор RSS ленты для сайта, содержащего часто пополняемый контент. Решение пишем на PHP.
register_globals=oN? Вы в опасности!
Здравствуйте уважаемые веб-мастера, статья повествует о том, почему опасно оставлять опцию register_globals включенной. Вы, возможно, слышали, что использование её может привести к небезопасной работе вашей программы (скрипта). Но давайте разберемся, как эту опцию могут использовать в противоправных целях и как от этого защититься
Классы и объекты в РНР со Штирлицом и Мюллером.
PHP так же как и большинство современных языков программирования высокого уровня, таких как С, Паскаль, Java и т.д. является объектно-ориентированным. В этой статье мы как раз и узнаем что же такое эти объекты на которые он ориентирован и в чем причина и польза (или вред) такой ориентации.
Сбор статистики на PHP.
Я покажу как сделать с виду простой журнал посещений сайта с помощью PHP и cookies (MySQL не требуется). К тому же мой пример можно легко расширить.
Преобразование XML + XSLT с помощью Sablotron.
Альтернативное введение в использование XSL Transformations в PHP при помощи Sablotron.
Данный материал следует воспринимать как альтернативное введение в использование XSLT с Sablotron в PHP
Подпись или аватар на пхп.
Итак, Вы, возможно, хотите сделать подпись, в которой кроме вашего изображения и данных будут ещё и данные из заголовка HTTP запроса, например ip, браузер, провайдер или ось смотрящего сей баннер. Тогда вам сюда.
Функци постраничного вывода в PHP.
Здравствуйте уважаемые читатели, сегодня хотелось бы обсудит проблему постраничного вывода в PHP и привести возможные пути решения. В этой статье я приведу довольно уникальную функцию с точки зрения её возможностей...
Импортирование информации с чужого сайта на свой сайт в свой дизайн.
Импортирование информации с чужого сайта на свой сайт в свой дизайн. (На примере импортирования прогнозов погоды с Yahoo.)
Постраничный вывод из таблиц MSSQL с помощью PHP.
На многих форумах по PHP видел один и тот же вопрос «Как сделать постраничный вывод из MSSQL?». Ответом очень часто служит «Все очень просто, используйте limit и все работает!», но, те кто дает такой ответ, видимо никогда не видели MSSQL достаточно близко и не знают, что к большому сожалению, там данной функции, в отличии от MySQL, нет. Я в своей практике написания сценариев на php, так же в основном пользовался связкой PHP + MySQL и вопросов не возникало. Но вот надо было перейти на хостинг с установленным MSSQL. После долгих поисков скрипта, который позволял бы сделать постраничный вывод из таблиц MSSQL с помощь PHP, без использования курсоров и ADO, и не найдя ничего, пришлось написать функцию, которая как раз и занимается обсуждаемым рутинным делом.
Маленькие хитрости.
Для просмотра значений массивов (в том числе $_POST, $_SESSION, $_SERVER) можно написать функцию, написанием которой мы и займемся в этой статье.
Способы хранения динамических данных.
Построение многоязычных приложений – это очень многогранная проблема, которая не имеет единого эффективного решения и подразумевает индивидуальный подход в каждом конкретном случае. В данном материале я предполагаю изложить свои взгляды на возможные варианты работы с динамическим многоязычным контентом.
Функции тестирования в PHP-проектах.
Разберем простейший случай организации процедуры тестирования качества кода на примере введения тестирования работоспособности всего одной функции, выполняющей, например, несложные преобразования текста...
Разработка собственных листов рассылки.
В рамках данной статьи я предлагаю рассмотреть решение задачи по организации списка рассылки. Для простоты здесь не будет использоваться какая-либо СУБД, а ее место займут плоские файлы. Делается это лишь с целью упрощения, поскольку разговор об использовании, в частности MySQL, может занять много времени, да и не для всех окажется необходимым работа с большими списками рассылок. Для некоторых достаточно будет списка из 300-500 адресов, с чем технология плоских файлов справляется отлично и без замедления работы.
Кэширование страниц в PHP.
Здравствуйте дорогие коллеги и просто читатели. Если Вы решили прочитать эту статью значит Вас как и меня волнует проблема кэширования страниц и тем самым ускорение их загрузки. Многие после того как начинают изучать язык веб-программирования стремятся создать что - нибудь своё уникальное и скорее выложить для всеобщего пользования в Интернет, но большинство не заботится о функциональности своих приложений. Поэтому данная статья нацелена на помощь в увеличении функциональности ваших программ, хотя бы со стороны быстроты загрузки страниц.
Отправка писем в правильной кодировке на PHP
У меня часто спрашивают, как отсылать письма с помощью PHP в правильной кодировке: после отправки письма с русскими буквами, на почту людям приходит абракадабра.
Основы работы с MySQL в PHP.
Вся работа с базами данных сводится к подключению к серверу, выбору базы данных, посылке запроса, обработке запроса и отключении от баз. Итак, рассмотрим все это дело по пунктам. Для наглядности всего текста представим себе что на локальной машине установлен сервер MySQL. Порт для работы с ним стандартный. Для подключения будем использовать имя пользователя «root» и пароль «no_one».
PHP и Web. Кэширование.
Для оптимизации работы с сетью используется механизм сохранения однажды полученных по HTTP документов в кеше с целью их повторного использования без обращения к серверу-источнику. Документ, сохраненный в кеше будет доступен при следующем обращении к нему, без выгрузки с сервера-источника, что призвано повысить скорость доступа клиента к нему и уменьшить расход трафика сети.
PHP: Шаблоны.
Разделение оформления и содержания - извечная проблема веб-разработчика. Для держателя небольшого сайта в несколько страниц такой проблемы не возникает. Изменение дизайна, либо другая правка внешнего вида страниц для него не представляет трудностей. Однако для крупных веб-ресурсов, порталов смешение этих двух важнейших компонентов сайта: оформления и содержания - просто недопустимо. Иначе сайт становится настолько неповоротлив, что владелец ресурса теряет над ним управление.
Использование шаблонов в PHP4.
Многие программеры сталкивались с проблемой, когда дизайнеру "нужна свобода" в написании html, а программеру "чистота" кода :) У меня такое приключилось при написании виртуального веб-магазина. В общем, недолго думая я стал искать различные PHP-классы для создания "динамических сайтов" с использованием так называемых шаблонов. И нашел один, который отвечал всем моим требованиям, но слишком уж он оказался "большим и тяжелым"...
Действительно легкая смена дизайна.
После прочтения статьи вы сможете использовать только один файл для внесения в него изменений дизайна и навигации. Содержимое сайта при этом не нужно будет даже трогать!
И сколько человек на сайте?
Наверняка, вы видели на многих крутых сайтах такую фишку: "On-Line: 56 человек"? И конечно же, вам хотелось сделать что-то подобное, но не хватало знаний или извилин в сером вещесте? Тогда специально для вас предлагаю статью, где я подробно объясняю, как сделать такую фичу у себя на сайте с использованием PHP+MySQL.
Страница сгенерирована за ...
В этой статье я расскажу, как просто можно реализовать такую избитую фишку как "время генерации страницы" у себя на сайте. Солидно и симпотично - налетай народ...
Пароль на страницу. Часть 1.
Я решил описать способы закрыть паролем часть сайта. Тема, на самом деле, большая, поэтому на первый раз ограничусь авторизацией php+mysql.
Пароль на страницу. Часть 2.
Способ этот применим там, где, во-первых, пользователей много, и их контингент постоянно меняется. Во-вторых, где нужно сделать удобный вход - чтобы можно было зайти в систему, введя логин и пароль в форме на странице.
Ловля ошибок в PHP.
На серъезных сайтах странно видеть, когда ошибки выводятся пользователю в браузер в самых неожиданных местах. Почему они выводятся? Ведь текст ошибок является информацией для дебага и предназначена для разработчика, а не для клиента. Пишем программу, делающую лог ошибок и прячем их от пользователя.
Как узнать, откуда пришли посетители.
Пишем логи походов пользователя по сайту, а также узнаем по какому запросу и с какого сайта перекочевал к вам посетитель.
Долой процедурное программирование, даешь объектно-ориентированное!
Программисты - народ ленивый. Поэтому, когда дело доходит до работы, они сначала ищут в сети какой-нибудь программный продукт, который в той или иной степени удовлетворяет их потребности в решении поставленной задачи. Если программист пишет что-то на PHP, то одной из первых систем, которые он найдёт, будет PHP Nuke. Поигравшись с ним некоторе время, программист понимает, что вещь, конечно, хорошая, но слишком уж "коряво" написанная, тяжело адаптируемая к задачам, отличных от web-портала, да и перевод на русский язык сделан человеком, имевшем не более трёх очков по великому могучему.
Использование Output Buffering в PHP.
Коротко суть проблемы можно изложить так: очень часто те данные, которые вы получаете, например, из базы данных, должны фигурировать в тексте HTML-страницы гораздо ранее того участка программы, который занимается добычей этих данных...
Развитие объектной ориентированности PHP.
Эта статья описывает развитие поддержки объектно-ориентированного программирования в PHP, включая новые возможности и изменения, запланированные в PHP 5.
Приемы сетевой обороны на PHP.
Можно долго спорить, почему некоторым людям так нравиться гадить и ломать плоды трудов других людей, но так или иначе это факт, актуальный и для виртуального мира. Еще на заре зарождения домашних ПК, т.е. когда доступ к ним начали получать все желающие, началась эта чума. Был написан первый вирус, впервые взломан веб-узел... сейчас таким уже никого не удивишь. Многие уже привыкли, время от времени видеть надписи типа "Тут был я супер-пупер хакер" и другие проявления компьютерного вандализма.
Приемы сетевой обороны на PHP - 2.
Что ж, продолжим, как и обещал, на рассмотрении проблем авторизации и отслеживания сеанса. Но прежде чем мы рассмотрим данную тему, остановимся на мгновение у очень важного момента - защите информации о структуре файлов и папок на сервере.
Сложные регулярные выражения.
Поддержка интерфейса между скриптом и регулярными выражениями осуществляется через следующие функции: split(), ereg(), ereg_replace().
Программирование на PHP и register_globals.
Вплоть до версии PHP 4.2.0 значение по умолчанию параметра register_globals было "On". Большинство PHP-программистов использовали эту возможность для упрощения кодирования. Эта статья предназначена тем, кто хотел бы изменить свой стиль написания программ в связи с изменением значения по умолчанию для этого флага. Также статья должна помочь тем, кто хотел бы кодировать по старинке, но не имеет доступа к конфигурационному файлу.
Безопасно-ориентированное программирование в PHP5.
Проблема создания безопасных скриптов всегда стояла довольно остро. Даже, если вы создаете просто домашнюю страницу для себя, вам вряд ли будет приятно, если какой-нибудь умелец ее взломает. Что говорить о крупных корпоративных и коммерческих сайтах, в данном случае взлом сайта может нанести довольно значительный финансовый ущерб. Чаще всего взломщики пользуются различными недоработками в скриптах: прежде всего недостаточной проверкой поступающей из вне (чаще всего от посетителя сайта) информацией. В данной статье я покажу, как использую современные технологии программирования можно организовать гибкую и надежную систему проверки данных, полученных от пользователя. Говоря "современные технологии программирования", я прежде всего имею ввиду шаблоны проектирования. Для понимания статьи желательно владеть PHP5 и ООП.
Регулярные выражения, Часть I.
Каждый веб-программист сталкивался с задачей, когда в произвольном тексте нужно найти какие-то данные по какому-то закону, проверить данные, которые поступили от пользователя, подвергнуть найденные данные сложной модификации. Можно изобретать велосипед, а можно использовать средства, которые используют программисты всего мира. Иной раз кажется, что профи пользуются какими-то инструментами, приемами, которые доступны только им. Разочарую читателя, что профи используют те же средства и инструменты, что и вы, только разница состоит в том, что они ими умеют пользоваться и умеют выбирать, какой инструмент стоит использовать в конкретном случае. Данный материал призван помочь программистам решать насущные задачи при помощи регулярных выражений.
Регулярные выражения, Часть II.
Многим материал этой статьи покажется ненужным, так как большинство задач с использованием регулярных выражений решаются средствами, которые я описал в предыдущей.
Работа с FTP средствами PHP.
Протокол FTP (File Transfer Protocol - протокол передачи файлов) - один из старейших протоколов Интернета, предназначенный для передачи файлов между двумя хостами.
Парсер на РНР - это возможно!
В данной коротенькой статье я хочу продемонстрировать, что РНР может очень хорошо справляться с функцией синтаксического разбора выражений. Для тех, кто никогда не касался данной тематики, я думаю, ст1121атья будет так же интересна, поскольку в ней мы рассмотрим метод программирования в виде конечных автоматов.
Применение cURL и libcurl в php.
Это руководство предназначено для тех web-разработчиков, которые хотят автоматизировать передачу файлов по сети либо взаимодействовать с другими Интернет - сервисами. Для чтения этой главы вам необходимо владеть пониманием принципа работы стратегии клиент - сервер и знать основы синтаксиса PHP.
Свой счётчик.
Так уж завелось интернете что первый урок по php - создание счётчика. Вот я решил написать о том как создать простейший счётчик. Что я подразумеваю под простейшим счётчиком - так это счётчик который не использует MySQL, ничего не считает кроме как сколько раз к вам заходили.
Защита include-модулей от несанкционированного доступа.
Когда Вы пишите простенькую гостевую книгу, или счетчик, прибавляющий 1, к предыдущему значению, Вы, как правило, используете один-два файла не связанные друг с другом. Но однажды возникает необходимость разделять программу на несколько частей, причем одна часть вызывается другой. Но такие файлы не должны вызываться самостоятельно, а только из главного скрипта. Вот здесь мы и покажем три основных способа защиты их от запуска.
Постоянная загрузка в чате.
Долго я не мог найти ответ на вопрос о реализации постоянной загрузке страницы в чате, так же много раз натыкался на топики в форумах, где народ просто не знал почему же у них ничего не работает ! Сегодня я постараюсь ответить на все вопросы на конкретном примере...
Пишем PHP код, устойчивый к ошибкам.
Ошибки - это бич любой программы. Чем больше проект, тем труднее исправлять и находить ошибки. Но наиболее важным в процессе работы с программой является квалификация программиста и его желание написать правильный и аккуратный код, содержащий минимальное количество ошибок.
Используем базу данных MySQL.
MySQL - Система Управления Базами Данных (СУБД). Основное отличие от всех остальных СУБД это то, что она является бесплатной. В силу того, что MySQL бесплатна, она поддерживается очень многими хостинг провайдерами.
Здесь я расскажу как связать PHP и MySQL т.е. как получить данные из базы данных MySQL в PHP скрипт.
Шаблоны в PHP для чайников.
Сужествует такая «проблема», как разделение оформления и содержания, и отделение исполняемого кода от получаемого html’я. Мухи — там, котлеты — тут. Грубо говоря, программист программирует, дизайнер дизайнит и никто никому не мешает жить. А если надо поменять что-то в оформлении, то сделать это сможет один оформитель, сиречь дизайнер, самостоятельно.
Работа с Шаблонами.
Я перепробовал многие классы, такие как, FastTemplate, IT[X] - IntegratedTemplate (PEAR), но большинство из них, либо слишком громоздкие (IT), либо с ошибками, например у меня не получилось использовать динамические шаблоны в FastTemplate. Мой класс, естесственно, не является сразу решением многих проблем шаблонов, но хотя бы, избавляет от некоторых из них, т.е. отделение кода от представления, что является очень важным для хотя бы более менее крупного сайта. Вы можете его скачать и посмотреть, а здесь, я лишь привожу его описание с комментариями и примерами.
Приемы безопасного программирования веб-приложений на. Данная статья не претендует на роль всеобъемлющего руководства на тему "как сделать так, чтоб меня никто не поломал". Так не бывает. Единственная цель этой статьи - показать некоторые используемые мной приемы для защиты веб-приложений типа WWW-чатов, гостевых книг, веб-форумов и других приложений подобного рода.
Фильтруй базар.
Как отслеживать маты? Вопрос, конечно же, не праздный, и многие умы человечества над ним бьются, но какого-нибудь удачного решения я не видел. Грустно читать форум по Формуле-1 с именами "Михаэль Шума***" или "Джонни ***берт". Интересно, а как этот форум будет реагировать на слово "застрахуйте"?
Время выполнения SQL запросов.
Итак, нам нужно засечь время, потраченное на выполнение SQL запросов ? Это не очень легко, но и не сложно. Начнем с определения задачи. Необходимо выдать полное время, затраченное на генерацию страницы и время, затраченное на выполнения SQL запросов, еще было бы здорово вывести процент от общего времени.
Пароль на страницу.
Я решил описать способы закрыть паролем часть сайта. Самый первый вопрос, который обычно встаёт - как закрыть директорию со скриптами администрирования паролем. При этом не нужно никаких изысков - один или несколько администраторов имеют одни и те же права, а персоналии меняются редко. Проще всего в данной ситуации использовать стандартную серверную авторизацию - положить файлы .htaccess и .htpasswd и прописать в них нужные параметры. Про это уже написано много, поэтому я ничего особо нового не скажу, лучше посмотрите сюда.
PHP-работа с файлами.
Хранить информацию на сервере можно несколькими способами. Первый – с использованием баз данных. Если же необходимо обработать небольшой объем информации, да еще и без каких–то ухищрений (например, организовать учет посещений), то подойдет второй способ – размещение информации в файлах.
Преобразование числа в текст.
Данный скрипт реализует преобразование чисел в текст, т.е., на примере денежной суммы, из 1256.18 получим Одна тысяча двести пятьдесят шесть рублей 18 копеек.
Пример обращения к сервису Whois на PHP.
С помощью скрипта указанного ниже, вы сможете использовать сервис Whois у себя на сервере. С помощью него вы сможете организовать, как на практически всех хостинг-сайтах, возможность просматривать подробные данные о любом зарегистрированном домене...
Как можно проверить какой IP, и запретить доступ к странице, или переслать на другую?
Статья, описывающая, каким образом можно проверить IP посетителя, а так же все возможные полезные действия с этой ценной информацией. Враг не пройдет!
Почтовые функции в РНР.
Применение imap функций для создания почтового демона, который будет управлять подпиской и отпиской пользователей от вашей почтовой рассылки. Если для вас это актуально, то все что вам необходимо вы найдете здесь...
Создание гостевой книги.
На тему создания гостевых книг было написано большое количество статей, однако большинство из них раскрывали процесс написания не полностью, а частично. К тому же, написанные книги были максимально просты, и не могли ничего, кроме как добавлять сообщения. В данной статье я постараюсь подробно описать процесс создания гостевой книги с неплохим набором функций. Гостевая книга написана на PHP с использованием текстовых файлов для хранения данных.
Голосование на PHP своими руками.
Как сделать свою систему голосования на PHP… Для новичка, желающего написать свое голосование, эта статья будет очень кстати.
PHP и формы. Ни для кого не является секретом, что наиболее распространенным способом взаимодействия html-страницы с сайтом является форма. Обработка простых форм посредством PHP не представляет никакого труда. Однако время от времени возникает потребность обработать форму, содержащую несколько однотипных полей, притом, что их количество может изменяться в широком диапазоне и их количество заранее не известно. Рассмотрим подробнее варианты для разных типов полей.
PHP в примерах.
Показаны простые примеры работы с языком web-программирования PHP. Эта информация будет полезна как для начинающего программиста, так и для опытного. В общем, стоит посмотреть...
PHP против ASP - В примерах, господа!
В этой статье рассматриваются 2 конкурирующие Интернет-Технологии: PHP и ASP... Статью писал человек, разбирающийся и поработавший с обоими технологиями. В своей статье он не настаивает на использовании одной из этих технологии.
Проанализировав приведенные примеры, каждый сам может сделать вывод каким языками web-программирования удобнее пользоваться…
Простейшая авторизация для вашего сайта.
Web-мастерам, использующим в качестве движка для сайта что-либо собственноручно написанное рано или поздно надоедает обновлять сайт, редактируя файлы по FTP или работая напрямую с базой данных. И тогда начинается написание скриптов администрирования, которые бы позволили управлять сайтом в интерактивном режиме с приятным внешним видом и наконец-то сделали процесс обновления более приятным. Первый вопрос, который обычно возникает в таком случае - это вопрос авторизации - не будешь же давать возможность каждому, нашедшему на сайте административный раздел, творить все, что ему взбредет в голову. Сегодня мы с вами рассмотрим процесс написания простейшей авторизации.