WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!

Pages:     | 1 |   ...   | 2 | 3 ||

«Ульман Основы Самоучитель Larry Ullman the Web Peachpit Press Ульман программирования на РНР Москва, 2001 УДК 004.438РНР 32.973.26-018.2 У51 У51 Ульман Л. ...»

-- [ Страница 4 ] --

Криптография - только часть решения по безопасности, так как она может быть использована только тогда, когда данные были получены сервером. На ПРИЛОЖЕНИЕ В Protect your company privacy In in access, in your Newsletter Important about security Ten of Landmark -McAfee and PGP Sign Up Now and TOP Secure Awards E-mail Address PGP Рис. т Имеются бесплатная и коммерческая версии PGP, позволяющие посылать и принимать зашифрованные данные созданном сайте также допустимо использовать преимущества протокола SSL.

SSL, протокол безопасных соединений, - это способ защищенного обмена ин формацией между клиентом (Web-браузером) и сервером. Применение прото кола SSL (префикс в URL) обязательно для приложений электронной торговли. По можно также посылать cookie, задав соответствующие пара метры при использовании функции setcookie Узнайте у вашего провайде ра или администратора сервера, поддерживает ли ваша машина протокол SSL.

Используемые в PHP-приложении пароли должны быть всегда зашифрованы. Если ваш сервер не поддерживает используйте crypt для шиф рования пароля, введенного во время аутентификации, затем проверяйте его на соответствие хранящемуся в базе зашифрованному паролю.

Написание безопасного РНР-кода Хотя при использовании РНР нет таких проблем с безопасностью, как при обращении к CGI-скриптам или ASP, они все же существуют. Есть несколько вещей, которые надо постоянно помнить при программировании.

Написание Во-первых, следует размещать файлы с критичной информацией, такой как пароли, вне корневого каталога Web-документов. Каждое серверное приложе ние использует для Web-документов каталог по умолчанию. Файлы, находящиеся в этом каталоге, могут быть доступны через из любого брау зера. Файлы, хранящиеся выше корневого каталога Web-сервера, просмотреть уже не так просто. Однако их можно спокойно использовать в с помощью включения кода в скрипт, например:

require Эта строка позволит использовать файл хранящийся в каталоге, который находится на один уровень выше текущего каталога (рис. Одна ко этот файл недоступен напрямую из сети Internet, так как расположен вне корневого каталога Web-документов.

Вторая рекомендация касается передаваемых пользователем данных из фор мы HTML. При передаче информации, которая не должна быть перехвачена, необходимо всегда использовать метод POST, так как метод GET добавит переда ваемые данные к сделав их видимыми в окне браузера.

Кроме того, необходимо осторожно относиться к передаваемым данным, поскольку таким образом злонамеренный пользователь может разрушить сис тему. Не очень честные, но хитрые люди могут послать через HTML-форму JavaScript или исполняемый код на ваш сайт. Этот код может переслать им кри тичную информацию, внести изменения в базу данных и т.п. Предотвратить такого рода посягательства нетрудно, если проверять все входящие данные с помощью регулярных выражений (см. 8).

0 0 of 0 0 file» tttoctttti tt/>| Рис. т Этот каталог находится выше корневого каталога Web-докумен тов или и поэтому недоступен пользователю через браузер. Я могу, однако, использовать для хранения особо чувствитель ных документов, таких как ПРИЛОЖЕНИЕ * В приложении С даны ссылки на сайты, где можно найти статьи по этой теме, а также примеры регулярных выражений.

Ресурсы по вопросам безопасности Если вы собираетесь серьезно заниматься Web-программированием, вам стоит узнать о Web-безопасности гораздо больше, чем было изложено в данном при ложении.

Существуют сотни Web-сайтов, можно найти информацию по вопросам безопасности. Самые лучшие ресурсы в этом отношении, по-моему, следующие:

Общим вопросам безопасности посвящено множество книг, есть и издания, с помощью которых вы сможете создать безопасный Web-сервер Windows NT или Linux.

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

Ресурсы PHP сновная задача этой книги - дать начинающим программистам на РНР хорошую основу для дальнейшего получения знаний. В связи с этим не которые темы опущены или освещались не в полном Объеме.

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

Руководство по РНР Прежде чем начать работать с языком, каждый программист по РНР приобрести соответствующее руководство. Вы найдете его на официальном PHP-сайте по адресу (рис. или на других сай тах. Руководство почти на десяти языках можно получить в любом из следу ющих форматов: PDF, HTML, простой текст, для карманных компьютеров Palm. На официальном Web-сайте также имеется аннотированная версия водства куда пользователи добавляют собствен ные полезные советы и комментарии, призванные помочь разрешать некото рые проблемы при использовании РНР.

Пособие начинается с описания вопросов установки и безопасности. Затем говорится о базовых конструкциях языка и некоторых возможностях РНР.

Основная часть пособия посвящена описанию встроенных функций РНР, раз битых по темам. Однако начинающему программисту не всегда понятен фор мат описания этих функций. Часто вы можете увидеть такие строки кода:

array file (string filename [, int int mysql_close void double round ПРИЛОЖЕНИЕ т РНР • PHP Manual The is :

The PHP is available in a selection of and Pick a and formal from the table stop for general :

Tip: If you using Internet Opera or Netscape 6, the file size show up, you move the questions that seem to mouse above one link. If you use or would like to see the information, you be most people's :

minds.

Many Many Online Single Plain HTML Online HTML text flies PDF are convenient PDF resources to begin Documentation exploring PHP. The !

help you Temporarily to start learning PHP, as extending your PDF Documentation Unavailable Sample Code Temporarily PDF for some more Documentation sample PHP scripts?

Unavailable page Temporarily some archives of sample PHP PDF great places many Documentation view pdb example and Unavailable useful functions, Temporarily your PDF pleasure!

Documentation Unavailable Temporarily PDF Documentation gz Temporarily PDF Done Рис. С. 1 У На сайте РНР представлено много разных версий пособия по этому языку, которые можно сво бодно брать. Я бы порекомендовал загрузить одну из них на ваш компьютер и использовать ее, не загружая понапрасну сеть Очень важно понять, что первое слово каждой строки обозначает тип зна чения, которое возвращает функция. Функция возвращает массив, - целое число, функция exit не возвращает ничего, round число с плавающей запятой (двойной точности). В скобках указаны аргументы (и типы аргументов), которые принимает функция. Необязательные аргумен ты взяты квадратные скобки. Например, функция exit не принимает ни каких аргументов, round обязательно требует число с плавающей запятой, а для вполне допустимо указывать необязательный аргумент Web-сайты и сетевые конференции Я упомяну только несколько Web-сайтов, где можно найти самую разную ин формацию по программированию. Посетите их и выберите то, что вам боль ше понравится. На большинстве ресурсов также содержатся ссылки на другие сайты, посвященные РНР.

Web-сайты и сетевые конференции т Первый и самый очевидный выбор - это официальный сайт РНР (адрес Во-вторых, вам необходимо посетить сайт создателей четвертой версии РНР Zend.com (http://www.zend.com). Там вы можете найти массу полезных утилит, а также получить много ценной информации.

Информация по конкретным темам представлена на сайте Здесь содержатся десятки статей, объясняющих, как с помощью РНР выполнять конкретные задачи (рис. С.2). Кроме того, на сайте работают форумы по поддержке пользователей и имеется библиотека с образцами кодов.

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

Сайт РНР Resource Index также предлагает интерактивные учебные материалы, библиотеки кода и сценариев (рис.

articles • • " • in ' and Best PHP ' The Need Oriented • Orientation PHP Security • Secure • Check Data Management p in PHP » ftij > Shopping " with PHP4 S «.

" to WML.

• WML Sites » want to use i • Techniques • Checkbox in a Database • Results • SOL & Рис. С.2 т На сайте PHPBuilder представлен большой список посвященных отдельным аспектам РНР начиная с базовых (например, документирование кода) и заканчивая более сложными объект программирование) С РНР а» f НЕ РНР RESOURCE INDEX SEARCH - NEW - REGISTRATION - CONTACT US [ | What's New | PHP resources fisted in 192 PHP of of ready for use on web comments to help others Functions f identify better Although not complete these - ---- ~..... ---- ------- code pieces in development often User with modification can become Get Updates, complete rate and comment on and more!

Information, examples and help regarding PHP programming. If should make easier.

you want to it, here's Includes! and (134) There a large PHP community and is where you'll resources such as chats, boards, developer and much ® of A Product Рис. С.З т На сайте PHP Resource Index и других подобных ресурсах имеются огромные библиотеки образ цов кода и сценариев, которые можно использовать в работе Библиотеки кода можно найти на следующих сайтах:

WeberDev (http: /www.weberdev.com Последний Web-ресурс, о котором стоит упомянуть здесь, - это PHP Coding Standard coding Стандарт это документ, дающий рекомендации в отношении правильного формата и синтаксиса имен переменных, управляющих структур и т.д. при программи ровании на РНР. Хотя вовсе не обязательно следовать всем правилам, есть от личные и хорошо продуманные рекомендации, которые помогут сократить ко личество ошибок в ваших программах.

Если у вас есть доступ к сетевым конференциям, вы можете использовать их для представления своих идей широкой публике, а также найти там ответы на интересующие вас вопросы. Самая большая англоязычная сетевая конференция alt.php. Доступ на alt.php можно получить через вашего провайдера или через платную службу Usenet. Существуют сетевые конференции и на других ' Русскоязычные могут начать с ресурса и далее по ссылкам. Прим. науч. ред.

по базам данных Ресурсы по базам данных В зависимости от того, какую СУБД вы используете, вам понадобятся соответ ствующие ресурсы для работы с ней. Набольшее распространение для работы с РНР получила база MySQL, за ней идет PostgreSQL. Однако в РНР поддержи вается большинство стандартных баз данных.

Узнать больше об использовании MySQL удастся на официальном Web-сай те MySQL рис. С.4). Вы можете загрузить оттуда посо бие по изучению этой Там представлены также книги по MySQL, такие как самоучитель «MySQL за 21 день» Марка Маслаковски (Mark Maslakowski) и Тони Батчера (Tony Джорджа Риса (George Reese) и Тима Кинга (Tim King), выпущенных в изда тельстве O'Reilly.

Информацию по использованию баз данных PostgreSQL можно получить на сайте Одна из популярных книг по этой базе дан ных - «PostgreSQL: введение и концепции» - написана Брюсом Момджияном Momjian).

Defining P2P I Map Order Partners -Take 3.23. Jobs AB needs MySQL even 3.23. Please take 10 minutes to fill-out our We information to us develop MySQL 1.7. to suit future This information will also help us Lists know what services we may sell to support our 1.7. development can provide this, so please 2. - Help help us!

Take our and AM» n Joins AB L announced a News MySQL training team has joined the company, Mr, heading the has been Vice Articles out President for building and developing the the MySQL training certification and of Documentation documentation. and his join from Support - a company he in and that he Training has been running as CEO since then.

Downloads and AB Development MySQL Blue World Communications. of the MySQL of MySQL most widely used database on the announced strategic relations and a agreement for the of MySQL embedded in editions of Lasso 5. The embedded MySQL for Lasso 5. Lasso developers a powerful server as an part of Lasso 5.

Рис. С.4 т На MySQL вы найдете большое количество необходимой документации и загружа емые файлы MySQL ПРИЛОЖЕНИЕ С т Ресурсы РНР Если вы хотите получить общее представление о разработке баз данных, вас могла бы заинтересовать книга Майкла Хернандеса Hernandez) «Раз работка баз данных для простых смертных». В подобных изданиях не риваются конкретные вопросы использования баз MySQL или PostgreSQL, однако книги дают понимание того, что лежит в основе создания и вания баз данных.

Сложные темы Хотя настоящей книги достаточно, чтобы вы начали работать с языком РНР самостоятельно, есть несколько тем, которые вы, вероятно, захотите изучить более глубоко.

Одна из них - создание объектов и классов с помощью РНР. Когда вы набере тесь опыта и построите солидную библиотеку кодов, создание и использование объектов повысит скорость вашего программирования и снизит количество ошибок. Знакомство с объектами в РНР упростит изучение объектно-ориенти рованных языков, таких как Java (несмотря на то что в РНР используются объекты, он не является объектно-ориентированным языком). Вы можете най ти хорошие интерактивные учебные материалы по объектам в РНР на сайте Zend.com рис.

Две другие темы, которые я порекомендовал бы изучить глубже, - примене для возвращения множественных значений, а также использова ние ссылок на переменные - подробно освещены в пособии по РНР. Первая обсуждается в разделе «Функции» и объясняет, как использовать массив для возвращения нескольких значений из одной функции. Вторую можно в разделе «Переменные», где подробно описано, как создавать ссылки на име на переменных, как присваивать им значения и разыменовывать их обратно.

Эти темы более сложны, но зато, овладев соответствующими навыками, вы сможете считать себя профессиональным программистом.

Вопрос о правах доступа к файлу вкратце обсуждался в главе 10. Если вы работаете на UNIX-сервере и хотите знать больше, обратитесь либо к пособию по UNIX (вызывается с помощью команды man), либо к прекрасной книге Эли забет Кастро (Elizabeth Castro) «PERL и CGI для Всемирной паутины». В при ложении описывает не только права доступа и проблемы безопасности в среде UNIX, но и другие вопросы, связанные с UNIX. Если вы работаете на Windows-сервере, то можете найти информацию о правах доступа к файлам на сайте компании Microsoft (http://www.microsoft.com) или в справочных фай лах Windows.

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

I to Classes By Zend PHP 28, a PHP An farti to with PHP И Reference,( This is the intermediate to advanced-level PHP This tutorial you to write use classes, to PHP code more flexible and easier to The tutorial guides you through the construction of a that performs some functions for a web site: checking user logons. The class Implements security features answer some needs for a number of current models could be easily implemented at most dynamic Web sites. Note that does not provide a full Рис. С.5 т На сайте Zend.com представлен очень подробный и простой учебник по объектно-ориентиро ванному программированию в РНР Таблицы В последних главах книги я упоминал о нескольких таблицах с полезной ин формацией. Они перед вами, при этом внимание на таблицу, в ко торой представлен перечень операторов в порядке их приоритета.

ПРИЛОЖЕНИЕ С т Ресурсы РНР Таблица т Это неполный список операторов, расположенных в порядке их приоритета (от высшего к низшему). Так, умножение имеет более высокий приоритет, чем сложение операторов and or Таблица С.2 т Специальные символы для регулярных выражений Символ Соответствия любой символ «а» в начале строки а$ «а» в конце строки а+ по крайней одна «а» а? ноль или одна «а» \п новая строка табуляция \ экранировать (аЬ) «а» и вместе «а» или «аа» т.д.

[a-z] любая строчная буква любая прописная буква любая цифра Таблица С.З т Не забывайте, что в РНР уже определено несколько классов символов, использующихся при создании шаблонов регулярных выражений. Здесь представлены только основные Предопределенные классы для регулярных выражений Класс Соответствия [ ] ] любая буква [ digit 1 ] ] любая цифра [ ] любая буква или цифра [ ] ] любой пробел [ ] ] любая прописная буква любая строчная буква любой знак пунктуации Таблицы Таблица С.4 т Используемый при открытии файла параметр определяет, что можно делать с этим файлом - записывать в него данные, читать его и т.д.

Режимы файла Режим Позволяет Только файла • Только запись данных в файл (создает файл, если он не существует, в противном случае усекает его размер до нуля перед записью) Добавление новых данных в конец файла (создает файл, если его нет) Чтение файла и запись в него данных Чтение файла и запись в него данных (создает файл, если он не существует, в противном случае усекает размер до нуля перед записью) Чтение файла и добавление новых данных в конец файла (создает файл, если его нет) Таблица т Различные форматы даты - это большой список, который лично я никак не могу запомнить. Держите эту таблицу когда используете функцию Варианты формата даты Символ Формат a am или A AM или день месяца из двух цифр: от 01 до D день недели, сокращенная форма: Sun, и т.д.

р месяц, полная форма: January g время дня в часовом формате: от 1 до время дня в 24-х часовом формате: от 0 до время дня в часовом формате: от 01 до н время дня в 24-х часовом формате: от 00 до i минуты: от 00 до j день месяца: от 1 до 1 (строчная день недели, полная форма: Sunday месяц двух цифр: 01 до н месяц, сокращенная форма: Jan месяц (цифрами): от 1 до секунды;

от 00 до s английский суффикс порядкового числительного: th, rd и т.д.

t количество дней в данном месяце: от 28 до п секунды с точки отсчета времени w день недели как одна цифра: от 0 (воскресенье) до 6 (суббота) у год из двух цифр: Y год из четырех цифр: z день года: от 0 до ПРИЛОЖЕНИЕ С т Ресурсы РНР Таблица С.6 т Эти опции используются и при разработке сайта, и при его эксплуатации Уровни сообщений об ошибках Число Константа Фатальная ошибка этапа выполнения 2 Нефатальное предупреждение этапа выполнения 4 Ошибка синтаксического анализатора 8 E_NOTICE Сообщение этапа выполнения 16 E_CORE_ERROR Фатальная ошибка при запуске РНР. Только РНР 4. 32 Предупреждение ошибка) при запуске РНР. Только РНР 4. 64 Фатальная ошибка компилятора. Только РНР 4. 128 Предупреждение компилятора. Только РНР 4. 256 E_0SER_ERROR Сгенерированная пользователем ошибка. Только РНР 4. 512 Сгенерированное пользователем предупреждение. Только РНР 4. E_0SER_NOTICE Сгенерированное пользователем сообщение. Только РНР 4. Все вышеперечисленное Предметный указатель [] метасимвол «крышечка», метасимвол База данных фигурные скобки В | вертикальная Выражение логическое метасимвол Логическое Или допустимый в URL Знак кавычки — автодекремент 55 новая строка ! Логическое Нет обратный слеш, метасимвол != не равно печать новой строки # комментарий 29 экранирование 25, доллар 33 Значение $ метасимвол null % остаток от деления истина (true) && Логическое И 87 логическое () в выражении ложь (false) () в И () скобки, метасимвол * «звездочка», метасимвол Индекс * умножение чисел К + плюс, метасимвол + сложение чисел Каталог ++ автоинкремент Комментарий - вычитание чисел HTML. конкатенация строк. точка, метасимвол чисел 52 Лексема < меньше Литерал <= меньше или равно М = присвоение значения Массив 35, == равенство логическое Метасимвол > больше класс >= больше или равно ? вопрос, метасимвол ? использование в URL @ коммерческое «а» 135 Оператор @ перед функцией AND, Логическое И [] квадратные скобки break Основы программирования на РНР die 256 права доступа for режим при открытии global 157 Форма if 79 Функция abs() 91 addslashes() 91 array_merge() if-then Логическое Нет 87 ceil() Логическое Или 87 closedir() require() 224 copy() return 152 crypt() switch date() while логическое Или Нет 87 die блок больше 84 больше или равно 84 взятие по модулю 107 логический меньше eregi() меньше или eregi_replace() неравенства error_log() приоритет присваивания explode() равенства file() П floor() Переменная fopen() локальная массив область действия headers_sent() получение из экранной формы implode() предопределенная строка тип число mail() Регулярные выражения md5() 73, Файл запись открытие Предметный указатель Цикл readdir() for rename() while round() счетчик 118 Число 55 с плавающей запятой srand() 59 случайное stripslashes() 71 целое strlen() Ш substr() Шаблон trim() unlink() Э Экранирование urlencode() аргумент возврат значения вызов Cookie доступ БД неопределенный аргумент 149 время жизни порядок аргументов 161 создание и чтение создание удаление ИЗДАТЕЛЬСТВО ПРЕДОСТАВЛЯЕТ ВАМ возможность приобрести интересующие Вас книги, посвящен ные компьютерным технологиям и радиоэлектронике, самым быстрым и удобным способом. Для этого Вам достаточно всего лишь посетить Internet-магазин Пресс» по адресу www.dmkpress.ru. Вашему вниманию будет представлен полный перечень книг по программированию, компьютерному дизайну, проектированию, ремонту радиоаппаратуры, выпу щенных в нашем и других издательствах. В Internet-магазине Вы сможете приобрести любые издания, не отходя от домаш него компьютера: оформите заказ, гото вым бланком, и мы доставим Вам книги в самый короткий срок по почте или с курьером.

на www.dmkpress.ru.

• экономит Ваше время, позволяя заказать любые книги в любом количестве, не выходя из дома;

• избавляет Вас от лишних расходов:

техническую литературу по ценам ниже, чем в магазинах;

• дает возможность легко и заказ на книги новинки, так и издания прошлых лет, Если Вы живете в Москве, то доставка с курьером позволит Вам увидеть книгу перед по купкой. этом Вам не при дется пользоваться кредитны ми или оплачивать почтовые услуги.

Эффективное использование ПК Автор: Зелинский С. Э.

Формат: 70x Объем: 592 с.

ISBN: 5-94074-064- Издание содержит информационный и справочный материал по темам, связанным с повседневной работой на ПК. Здесь можно най ти на вопросы, актуальные для пользователей, компьютеры которых процессорами от х386 до Pentium III, а в ка честве операционной системы установлены Windows 3.x, Windows 95/98 или Windows ME.

В книге рассказывается о настройке и условиях эффективной работы различных устройств современного компьютера, описы ваются русифицированные версии операционных систем. Вы на учитесь работать с текстовым редактором, программами элек тронных таблиц и подготовки презентаций из пакета Microsoft Office 2000, графическими программами Paint и Imaging, Web браузером Internet Explorer 5 и входящим в него почтовым кли ентом Outlook Express 5, а также программами архивации и шиф рования данных.

Книга адресована тем, кто хочет самостоятельно освоить ПК, научиться устранять возможные проблемы с его вы полнять эффективную настройку системы и овладеть основами ра боты с популярными офисными приложениями, утилитами и про ' Цена указана граммами Internet.

без стоимости доставки Пресс» высылает почтой наложенным платежом Заказы присылайте по адресу: 107014, Москва, а/я Оптовые закупки: (095) 962- 369- E-mail:

http://www.dmkpress.ru Интернет-магазин:

Ларри Ульман Основы программирования на РНР Главный редактор Захаров И. М.

Перевод с английского В.

Выпускающий редактор Петроградская В.

Технический редактор В.

Верстка Белова И. Е.

Графика К.

Дизайн обложки Е. Н.

ИД №01903 от 30.05. Подписано в печать 30.06.2001. Формат Гарнитура «Баскервиль». Печать офсетная.

Усл. печ. л. 18. Тираж 3000.

Зак. № Издательство Пресс», Москва, пл. Журавлева, д. 2/8.

Электронные адреса: info@dmk.ru Отпечатано в Раменской типографии 104100, Московская обл., г. Раменское, Сафоновский пр.,

Pages:     | 1 |   ...   | 2 | 3 ||



© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.