Красота полей в фото |
Метки: поля природа фото |
Уроки по PHP: Безопасность в PHP - Безопасность баз данных |
Вступление
На сегодняшний день базы данных являются ключевыми компонентами большинства веб-приложений, позволяя предоставлять на сайтах динамический контент. Поскольку в таких БД может храниться очень точная или конфиденциальная информация, вы должны обеспечить хорошую защиту данных.
Для извлечения или сохранения любых данных вам необходимо открыть соединение с базой данных, отправить верный запрос, извлечь результат и закрыть соединение. В настоящее время наиболее распространенный стандарт общения - структурированный язык запросов (SQL). Всегда следует помнить о возможности атаки посредством SQL-запроса (SQL-инъекция).
Очевидно, что сам по себе PHP не может защитить вашу базу данных. Этот раздел документации рассказывает об основах безопасного доступа и управления данными в PHP-скриптах.
Запомните простое правило: максимальная защита. Чем больше потенциально опасных участков системы вы проработаете, тем сложнее будет потенциальному взломщику получить доступ к базе данных или повредить ее. Хороший дизайн базы данных и программных приложений поможет вам справиться с вашими страхами.
Метки: php уроки по php |
Притча о настоящей дружбе |
По дороге шли человек, лошадь и собака. В них попала молния и испепелила, но они не заметили, что умерли и продолжали путь дальше. Вдруг перед ними появились красивые ворота с мраморным порталом и сад за ними, человек спросил у стражника, охраняющего ворота: «что это за место и можно ли здесь напиться воды?». Стражник ответил: «Это Рай, но животным вход сюда запрещен, если ты хочешь, то можешь оставить животных за воротами, сам же сможешь утолить свою жажду и навсегда остаться жить в этом прекрасном саду!». Человек не захотел расставаться с лошадью и собакой и решил продолжить свой путь, хоть жажда и мучила его. Вскоре они встретили другой сад, ворота этого сада были похожи на калитку и их никто не охранял……….в глубине сада под деревом лежал стражник. Человек спросил у него: «что это за место и можно ли здесь напиться воды?». Стражник ответил: «конечно можно, прямо пред вами источник, напейтесь из него. А находитесь вы сейчас в Раю». Тогда человек удивленно сказал:
-Но ведь Рай был за воротами мраморного портала!
-Это был Ад, - спокойно ответил стражник.
-Почему же вы не запретите им называться чужим именем?
-Они оказывают нам большую услугу.ТАМ ОСТАЮТСЯ ТЕ, КТО СПОСОБЕН ПРЕДАТЬ ДРУЗЕЙ.
ХА-ХА-ORG
Метки: притчи дружба |
Любительница кошек |
Метки: обезьяна кошка фото животных позитив |
Уроки по PHP: Безопасность в PHP - Безопасность файловой системы PHP является одним из важных моментов |
PHP является одним из важных моментов в вопросе безопасности сервера, поскольку PHP-скрипты могут манипулировать файлами и каталогами на диске. В связи с этим существуют конфигурационные настройки, указывающие, какие файлы могут быть доступны и какие операции с ними можно выполнять. Необходимо проявлять осторожность, поскольку любой из файлов с соответствующими правами доступа может быть прочитан каждым, кто имеет доступ к файловой системе.
Поскольку в PHP изначально предполагался полноправный пользовательский доступ к файловой системе, можно написать скрипт, который позволит читать системные файлы, такие как /etc/passwd, управлять сетевыми соединениями, отправлять задания принтеру, и так далее. Как следствие вы всегда должны быть уверены в том, что файлы, которые вы читаете или модифицируете, соответствуют вашим намерениям.
Метки: php уроки по php |
20 самых необычных домов |
Метки: архитектура необычные дома |
Уроки по PHP: Безопасность в PHP - Если PHP установлен как модуль Apache |
Когда PHP используется как модуль Apache, он наследует права пользователя, с которыми был запущен веб-сервер (обычно это пользователь 'nobody'). Это влияет на обеспечение безопасности и реализацию авторизации. Например, если вы используете базу данных, которая не имеет встроенного механизма разграничения доступа, вам прийдется обеспечить доступ к БД для пользователя 'nobody'. В таком случае зловредный скрипт может получить доступ к базе данных и модифицировать ее, даже не зная логина и пароля. Вполне возможна ситуация, когда веб-паук неверными запросами страницы администратора базы данных уничтожит все данные или даже структуру БД. Вы можете избежать такой ситуации при помощи авторизации Apache или разработав собственную модель доступа, используя LDAP, файлы .htaccess или любые другие технологии, внедряя соответствующий код в ваши скрипты.
Достаточно часто используются такие настройки безопасности, при которых PHP (имеется ввиду пользователь, с правами которого выполняется Apache) имеет минимальные привелегии, например отсутствует возможность записи в пользовательские директории. Или, например, отсутствует возможность работать с базой данных. При этом система безопасности не позволяет записывать как "хорошие", так и "плохие" файлы, аналогично позволяет производить как "хорошие", так и "плохие" транзакции.
Распространенной ошибкой является запуск Apache с правами суперпользователя или любое другое расширение полномочий веб-сервера.
Расширение привилегий веб-сервера до полномочий угрожает работоспособности всей системы, такие команды, как sudo, chroot должны выполняться исключительно теми, кто считает себя профессионалами в вопросах безопасности.
Существует несколько простых решений. Используя open_basedir, вы можете ограничить дерево доступных директорий для PHP. Вы так же можете определить область доступа Apache, ограничив все веб-сервисы не-пользовательскими или не-системными файлами.
PHP.SU
Метки: php уроки по php |
Уроки по PHP: Безопасность в PHP - Если PHP установлен как модуль Apache |
Когда PHP используется как модуль Apache, он наследует права пользователя, с которыми был запущен веб-сервер (обычно это пользователь 'nobody'). Это влияет на обеспечение безопасности и реализацию авторизации. Например, если вы используете базу данных, которая не имеет встроенного механизма разграничения доступа, вам прийдется обеспечить доступ к БД для пользователя 'nobody'. В таком случае зловредный скрипт может получить доступ к базе данных и модифицировать ее, даже не зная логина и пароля. Вполне возможна ситуация, когда веб-паук неверными запросами страницы администратора базы данных уничтожит все данные или даже структуру БД. Вы можете избежать такой ситуации при помощи авторизации Apache или разработав собственную модель доступа, используя LDAP, файлы .htaccess или любые другие технологии, внедряя соответствующий код в ваши скрипты.
Достаточно часто используются такие настройки безопасности, при которых PHP (имеется ввиду пользователь, с правами которого выполняется Apache) имеет минимальные привелегии, например отсутствует возможность записи в пользовательские директории. Или, например, отсутствует возможность работать с базой данных. При этом система безопасности не позволяет записывать как "хорошие", так и "плохие" файлы, аналогично позволяет производить как "хорошие", так и "плохие" транзакции.
Распространенной ошибкой является запуск Apache с правами суперпользователя или любое другое расширение полномочий веб-сервера.
Расширение привилегий веб-сервера до полномочий угрожает работоспособности всей системы, такие команды, как sudo, chroot должны выполняться исключительно теми, кто считает себя профессионалами в вопросах безопасности.
Существует несколько простых решений. Используя open_basedir, вы можете ограничить дерево доступных директорий для PHP. Вы так же можете определить область доступа Apache, ограничив все веб-сервисы не-пользовательскими или не-системными файлами.
PHP.SU
|
Гавана |
Метки: гавана фото музыка релакс |
Уроки по PHP: Безопасность в PHP - Если PHP установлен как CGI |
Возможные атаки
Использование PHP как бинарного CGI-приложения является одним из вариантов, когда по каким-либо причинам нежелательно интегрировать PHP в веб-сервер (например Apache) в качестве модуля, либо предполагается использование таких утилит, как chroot и setuid для организации безопасного окружения во время работы скриптов. Такая установка обычно сопровождается копированием исполняемого файла PHP в директорию cgi-bin веб-сервера. CERT (организация, следящая за угрозами безопасности) CA-96.11 рекомендует не помещать какие-либо интерпретаторы в каталог cgi-bin. Даже если PHP используется как самостоятельный интерпретатор, он спроектирован так, чтобы предотвратить возможность следующих атак:
Доступ к системным файлам: http://my.host/cgi-bin/php?/etc/passwd
Данные, введенные в строке запроса (URL) после вопросительного знака, передаются интерпретатору как аргументы командной строки согласно CGI протоколу. Обычно интерпретаторы открывают и исполняют файл, указанный в качестве первого аргумента.
В случае использования PHP посредством CGI-протокола он не станет интерпретировать аргументы командной строки.
Доступ к произвольному документу на сервере: http://my.host/cgi-bin/php/secret/doc.html
Метки: php уроки по php |
"Боевые" скульптуры :)) |
Метки: скульптуры оружие искусство |
Уроки по PHP: «Движок» PHP |
Языки программирования бывают двух видов: интерпретируемые и компилируемые. А каким языком является PHP? Для того, чтобы ответить на этот вопрос, нам необходимо разобраться в терминологии.
Программа, переводящая код, написанный на одном языке программирования, на другой называется транслятором. Компилятор – это тоже транслятор. Он переводит код, написанный на языке высокого уровня, в машинный код. В результате процесса компиляции создается двоичный исполняемый файл, который уже можно запускать без компилятора.
Интерпретатор – это совершенно другая категория. Интерпретатор не переводит код, а исполняет его. Интерпретатор анализирует код программы и исполняет каждую его строку. Каждый раз при исполнении такого кода, необходимо пользоваться интерпретатором.
По производительности интерпретаторы значительно уступают компиляторам, поскольку двоичный код выполняется намного быстрее. Зато интерпретаторы позволяют полностью контролировать программу во время ее исполнения.
Что касается PHP, то он не является ни компилятором, ни интерпретатором. PHP представляет собой нечто среднее, между компилятором и интерпретатором. Попробуем в этом разобраться и рассмотрим, как PHP обрабатывает код.
Метки: php уроки по php |
Уроки по PHP: Безопасность в PHP |
PHP является мощным языком программирования и интерпретатором, взаимодействующим с веб-сервером как модуль либо как независимое бинарное CGI приложение. PHP способен обращаться к файлам, выполнять различные команды на сервере и открывать сетевые соединения. Именно поэтому все скрипты, исполняемые на сервере являются потенциально опасными. PHP изначально разрабатывался как более защищенный (относительно Perl, C) язык для написания CGI-приложений. При помощи ряда настроек во время компиляции, а также настроек во время работы приложения, Вы всегда сможете найти подходящее сочетание свободы действий и безопасности.
Метки: php уроки по php |
Конкурс дизайна растительных аквариумных композиций 2011 |
Метки: аквариумы аквариумные композиии дизайн |
Уроки по PHP: Функции для работы с классами и объектами |
В РНР существует несколько стандартных функций для работы с классами и объектами. Рассмотрим некоторые функции для работы с классами и объектами в контексте PHP4.
get_class_methods()
Функция get_class_methods() возвращает массив имен методов класса с заданным именем. Синтаксис функции get_class_methods():
array get_class_methods (string имя_класса)
Метки: php уроки по php |
Интересные фото с птицами-2 |
Метки: птицы фото позитив приколы |
Уроки по PHP: PHP5 и ООП (Часть 4) |
Обращения к свойствам объекта могут быть перегружены с использованием методов __call, __get и __set. Эти методы будут срабатывать только в том случае, если объект или наследуемый объект не содержат свойства, к которому осуществляется доступ. Синтаксис такой:
void __set ( string имя, mixed значение )
void __get ( mixed имя )
С помощью этих методов обращения к свойствам класса могут быть перегружены с целью выполнения произвольного кода, описанного в классе. В аргументе имя передаётся имя свойства, к которому производится обращение. Аргумент значение метода __set() должен содержать значение, которое будет присвоено свойству класса с именем имя.
Метки: php уроки по php |
Интересные фото с птицами |
Метки: фото приколы птицы позитив |
Волки |
Метки: волки фото музыка |
Уроки по PHP: PHP5 и ООП (Часть 3) |
Многие разработчики, пишущие объектно-ориентированные приложения, создают один файл, в котором содержится определение класса. Очень неудобно писать в начале каждого скрипта длинный список включаемых файлов по одному на каждый класс.
В PHP 5 в этом больше нет необходимости. Вы можете определить функцию __autoload() , которая автоматически будет вызываться в случае использования класса, который не был определен выше. Вызывая такую функцию, Zend Engine дает возможность загрузить файл с определением класса прежде, чем будет сформировано сообщение об ошибке и выполнение скрипта прекратится.
<?php
function __autoload($class_name) {
include_once($class_name . "php");
}
$obj = new MyClass1();
$obj2 = new MyClass2();
?>
Метки: php уроки по php |