PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 7
REZER Отправлено: 11 Мая, 2015 - 09:45:39 • Тема: Ограничить доступ для php и/или apache • Форум: Apache и другие веб-серверы

Ответов: 7
Просмотров: 1455
Ребят, ура!!!
Нашёл решение, всё дело в том, как и писалось в пользователе, под которым работал apache ли ещё что-то.
У меня стоит ISP Manager 5, на нём решил проблему так:

1. Авторизовался под root пользователем.
2. Зашёл во вкладку "Домены - www домены".
3. Далее в списке выбираем нужный домен, и нажимаем на иконку "Конфиг".
4. Появится окно редактора, в котором будет вот такая строчка:

AssignUserID user user

5. Здесь получается "user" может быть вашим именем пользователя, необходимо заменить её на:

AssignUserID apache apache

6. После я перезагрузил сервер, но можно просто перезапустить сервис (службу) httpd.

- После в папке можно создавать папки и файлы, если на неё стоят права CHMOD 777.
- Файлы можно изменять, только если на них стоят права 666.
- Новые файлы и папки создаются от имени пользователя и группы "apache".

P.S. Но такое действие нужно делать для каждого домена отдельно, если кто знает, как сделать, чтобы такое изначально прописывалось в конфиге, то сообщите пожалуйста.
REZER Отправлено: 06 Мая, 2015 - 06:58:51 • Тема: Ограничить доступ для php и/или apache • Форум: Apache и другие веб-серверы

Ответов: 7
Просмотров: 1455
MiksIr пишет:
А ты уверен, что PHP работает от пользователя apache? Новые файлы PHP создает с каким пользователем?


Точно, владелец файла, созданного через PHP является "user" и группа то же "user".
Можно как-то это исправить?
REZER Отправлено: 05 Мая, 2015 - 19:26:46 • Тема: Ограничить доступ для php и/или apache • Форум: Apache и другие веб-серверы

Ответов: 7
Просмотров: 1455
Вот скриншот прав на папку
REZER Отправлено: 05 Мая, 2015 - 19:24:48 • Тема: Ограничить доступ для php и/или apache • Форум: Apache и другие веб-серверы

Ответов: 7
Просмотров: 1455
На папку стоят права 755 [drwxr-xr-x]
А вот на счёт владельца, я тоже думаю, что из-за этого.

Мне кажется, нужно сделать так, что например группа "apache" должна иметь какой-то пониженный приоритет, чтобы не могла вообще ничего редактировать, кроме файлов, которые ему принадлежат или его группе. Ну и конечно мог редактировать ещё те файлы и папки, в которых стоят разрешение в публичных правах, когда например на файл стоит CHMOD 666, на папку 777.

У меня же сейчас есть файл 123.txt, владелец "user", группа "user", CHMOD 644, лежит в папке, у которой права CHMOD 755, владелец и группа "user", что в принципе означает, что никто не может редактировать файл, кроме самого пользователя "user" и "root". На деле же, пользователь или группа "apache" может его отредактировать без проблем.

Собственно и мысли такие, что у пользователя или группы "apache" завышены его приоритеты, то есть разрешено больше, чем нужно, в нашем случае больше, чем у пользователя "user".

Вообще я сервер не настраивал, был просто установлен ISP Manager, который сам установил всё программное обеспечение на сервер. Это чтобы было понятно, что я никуда не лазил, особо мозгов в этом нет.

P.S. Владельца и группу "user" я ввёл вымышленную, у меня она называется по другому. Пользователя "apache" я не вижу, но могу в панели управления выбрать, что он будет являться владельцем файла/папки.
REZER Отправлено: 05 Мая, 2015 - 17:04:59 • Тема: Ограничить доступ для php и/или apache • Форум: Apache и другие веб-серверы

Ответов: 7
Просмотров: 1455
Здравствуйте!

Столкнулся с такой вещью, ранее я думал, что если поставить права на файл 644, то другой php файл не сможет его отредактировать и удалить, только прочитать.

Некоторое время я замечал изменение таких файлов, в них появлялись чужие куски кода, я понимал, что есть где-то дырка на сайте, думал неужели пароль от FTP у меня узнали, менял сразу же.

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

Тестировал так, создал файл test.php в корне сайта и запускал его с браузера, то есть обработка была через Apache, также ещё установлен nginx через панель, в консоли не трогал, единственное что, увеличил в конфигурации максимально загружаемый вес файла.

-------------------------------- -----

Собственно вопрос, мне нужно сделать так, чтобы запуская PHP через браузер, он мог редактировать только те файлы и папки, на которые стоят права 666 и 777 соответственно.

Подскажите пожалуйста, как это сделать?

Ещё один не критичный вопрос: как для отдельных сайтов сделать запрет на чтение и изменения файлов выше корня сайта, например чтобы файл /var/www/test/test1.ru/index.php не смог прочитать или отредактировать/удалить файл /var/www/test/test2.ru/index.php

Этот вопрос не критичный, но всё же, если кто знает, то буду благодарен.

P.S. Панель управления ISP Manager 5 Lite, у них вопрос задавал, ответа нет. Сервер выделенный, то есть хостер мне не поможет.
REZER Отправлено: 10 Октября, 2013 - 07:29:21 • Тема: PHP Консоль (таймер) • Форум: Операционная система и системные вызовы

Ответов: 2
Просмотров: 1740
Это я знаю )))
В общем ответ нашёл, подсказали на другом форуме:

http://stackoverflow[dot]com/a/16466392/272885

Всё работает
REZER Отправлено: 10 Октября, 2013 - 06:56:05 • Тема: PHP Консоль (таймер) • Форум: Операционная система и системные вызовы

Ответов: 2
Просмотров: 1740
Здравствуйте!

Создаю скрипт, есть необходимость запуска из консоли (SSH и CRON). В скрипт хочу встроить вопрос:

CODE (htmlphp):
скопировать код в буфер обмена
  1. public function questUser( $quest, $maxSeconds = 10 ){
  2.         $this->addMessage( $quest, false );
  3.         $this->stdin = fopen( "php://stdin", "r" );
  4.         $answer = trim( fgets( $this->stdin ) );
  5.         fclose( $this->stdin );
  6.         return $answer;
  7. }


В общем когда через SSH запускаю, то норм, можно отказаться или продолжить выполнение просто нажав на Enter, а как быть с кроном.
Есть ли вообще возможность поставить таймер на ответ, скажем если проходит 10 секунд, то скрипт больше не ждёт ввода от пользователя и продолжает работу?

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB