<MyRusakov.ru />

Создание движка на PHP и MySQL 2.0

Создание движка на PHP и MySQL 2.0

Видеокурс "Создание движка на PHP и MySQL 2.0" научит Вас создавать профессиональные движки для сайтов на PHP и MySQL с использованием ООП и паттерна MVC.

В курсе разобрана вся теория по структуре движка: как всё устроено, какие должны быть объекты, какая у них иерархия и как они взаимодействуют между собой.

В практической части будет создан движок с чистого листа. Будет создано ядро, все адаптеры, все вспомогательные классы, а также классы для работы с объектами базы данных. И чтобы курс был максимально полезным, будет создан движок для сайта MyRusakov.ru.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Права доступа к файлам

Права доступа к файлам

Одной из важнейших составляющих безопасности сайта явлются правильные права доступа к файлам. Думаю, что многие из Вас видели подобные права, например, "777", "755", "444" и другие. Иногда перед ними идёт ещё ведущий "0", но в этой статье мы его опустим. Вот что они означают и как составляются, а также как правильно их использовать, я попытаюсь объяснить в сегодняшней статье.

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

Продолжим. Права состоят из трёх цифр. Первая цифра отвечает за права владельца файла, вторая цифра - за группу владельца, а третья цифра - за права других пользователей.

Далее. Каждая цифра отвечает за количество прав. Считается она следующим образом: за права чтения даётся 4, за право записи даётся ещё 2, за выполнение ещё 1. Получается, что максимально возможные права - это 4+2+1=7 (чтение+запись+выполнение). Если группа может читать и выполнять файл, но не может записывать, то права будут 4+1=5 (чтение+выполнение).

Чтобы стало ещё понятнее, возьмём пример: права "754", и подробно разберём их:

  • 7 - владелец файла может читать (4), записывать (2) и выполнять (1) файл.
  • 5 - группа владельца может читать (4) и выполнять (1) файл.
  • 4 - все остальные пользователи могут только читать (4) файл.

Многие могут спросить: "А что же с каталогами?". Каталоги - это те же файлы, поэтому на них распространяются те же правила.

Теперь о том, как нужно выставлять права доступа к файлам на Вашем сайте:

  • На все файлы поставить права "644".
  • На все директории поставить права "755".
  • На особо важные файлы (как правило, это файл config.php, в котором содержатся пароли от базы данных) необходимо поставить права "444".
  • На все директории, в которые пользователь может загружать файлы, надо ставить права 777. Например, это папка с аватарками.

И последний момент, который хотелось бы осветить - это права в системе Windows. Самое главное - это понять, что в Windows нет никаких прав доступа вообще. Они относятся только к Unix-системам. Поэтому бесполезно на каком-нибудь Denwer узнавать, какие права доступа к файлам у Вас стоят.

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

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (9):

Alim_(I) Alim_(I) 27.06.2011 14:05:16

Как дать права доступа файлу?

Ответить

Admin Admin 27.06.2011 18:57:54

Либо через FTP-клиент (например, Filezilla), либо через PHP, о чём я напишу в следующей статье.

Ответить

sync.o sync.o 28.06.2011 13:50:07

А что если файлзила пишет "644", а fileperms возвращает "33188"?

Ответить

Admin Admin 28.06.2011 15:21:26

Какая ОС?

Ответить

sync.o sync.o 28.06.2011 16:44:07

FreeBSD amd64

Ответить

Admin Admin 28.06.2011 16:50:37

Функция fileperms() возвращает 10-е число. А права доступа записываются в 8-й системе. Если 33188 перевести из 10-й в 8-ю систему, то получится 100 644. Вот как раз последние цифры и свидетельствуют о правах доступа. Если надо, чтобы функция fileperms() сразу возвращала 8-е число (с ведущим нулём), то надо использовать такой код: echo substr(sprintf('%o', fileperms("myfile.txt")), -4);

Ответить

sync.o sync.o 28.06.2011 19:29:34

ну спасибо! О sprintf() раньше не знал. Тогда и задавать права функцией chmode() тоже придется с помощью восьмеричного числа... Не очень удобно как-то(

Ответить

Alim_(I) Alim_(I) 05.08.2011 19:56:07

Получается ставить вот так: 0754? (владелец может читать, выполнять, записывать файл. Группа владельца может читать, выполнять файл. Пользователь может только читать файл)

Ответить

shwarz shwarz 05.08.2011 20:53:30

Да всё так, даже ноль в начале можно опустить и будет просто 754

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.