Бесплатные PHP скрипты - форум техподдержки

Бесплатные PHP скрипты - форум техподдержки

Форум техподдержки WR-Скриптов на php. Обсуждаем: основы программирования на PHP 5 - 7 версий, различные подходы к написанию скриптов на php 7 без MySQL. А также WR-скрипты: бесплатные доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Анекдот и другие. Принимаются пожелания для новых версий. Сообщите какой скрипт нужен для Вашего сайта, постараемся найти или реализовать. Скачать скрипты можно бесплатно. Вместе мы сделаем бесплатные php скрипты лучше и доступнее!

Главная сайта бесплатных php скриптовГлавная сайта   ПоискПоиск  
Сегодня: 10.12.2025 - 12:06:16
Страницы:  1 ... 8  9  10  11  12  ... 27

Помогите с настройкой форума

Объявление - WR-Scriptы в UTF-8 кодировке

Активно обновляю скрипты и перевожу их в UTF-8 кодировку. Список перекодированных php скриптов доступен на главной странице сайта. Скачивайте скрипты и устанавливайте на свой сайт! В ближайшее время обновлю каталог знакомств, форум Про, фотоальбом, доски объявлений лайт и ЛЮКС.

На форуме, пожалуйста, пишите что модернизировать в скриптах в первую очередь. Постараюсь исправить большую часть пожеланий!
Планирую продолжить работы весь 2026 год.

АвторСообщение

Maksir

M
Участник форума


Цитата:

С чего вы взяли, что вы работаете с правами Владельца и принадлежите к указанной группе? Вы как "все остальные" работаете и не забывайте это.

Я вас понял. Вы не знаете метода работы прав.
1. Каждый зарегестрированный пользователь в системе Unix является Владельцем и имеет свою индивидуальную Группу. Например, Maks:Maks, или rootman:rootman
2. У каждого пользователя в системе Unix есть свой домашний каталог, в котором у него есть неограниченные права.
3. Пользователь rootman не может читать и просматривать каталоги и файлы Maks с правами 660, потому что rootman не является владельцем каталога Maks и не входит в группу Maks
4. Каждый залогенившийся пользователь зарегестрирован в системе Unix и имеет свою учётную запись и права, будь то ftp или smb сервер.
5. залогенивший пользователь является Владельцем своего каталога.

А теперь, о главном, как это всё можно связать с правами на сервере http:
1. Сервер в первую очередь запущен от пользователя root и может открывать любые файлы с любыми настройками доступа, хоть 000.
2. Сервер http открывает на доступ через протокол http только те файлы, которые заранее определены "Для всех". т.е. 001 - выполнение/поиск для всех

модуль PHP:
1. PHP открывает и работает с файлами и каталогами, для которых заранее определены настройки доступа для Владельца и Группы. (если конкретно, то только для Владельца, или Владельцев, то есть - Группы)
у вас, rootman, возникают сомнения, когда я говрю "Владелец"? Владелец, это не обязательно root . В данном случае модуль PHP взаимодействует с каталогами и файлами в которых прописанны Владелец и Группа nobody . А права так и остаются - 660, или 600, или только на чтение 400 (для Владельца - имеется ввиду в категории настроек. Вот так 060 будет для Группы)

Сообщение # 118 20.05.08 - 13:28:42

Maksir

M
Участник форума


Цитата:

Основы основами, я же вам обьясняю что такой подход с выполнением криптов под suexec, как вы предлагаете - небезопасен. Повторить в стотысячный раз почему или не надо?

Вот пример:
я писал 3. Пользователь rootman не может читать и просматривать каталоги и файлы Maks с правами 660, потому что rootman не является владельцем каталога Maks и не входит в группу Maks

Вот, как раз-таки вот здесь, сервер http, у которого неограниченные права, переводит процесс с помощю suexec под пользователя, например - rootman, у которого есть ограниченные права (в отличии от самого сервера). И теперь, сервер работает, от прав rootman с его каталогом, и его процесс огрничен в рамках одного рядового пользователя.
В чем здесь уязвиомсть, когда речь идёт наоборот - об ограничении прав одного пользователя, вот это и есть "феномен-rootmana"

Сообщение # 119 20.05.08 - 13:58:13

Rootman

R
гость


Цитата:

1. Каждый зарегестрированный пользователь в системе Unix является Владельцем и имеет свою индивидуальную Группу. Например, Maks:Maks, или rootman:rootman

Для особо одаренных снова: С чего вы взяли, что вы работаете с правами Владельца и принадлежите к указанной группе? Вы как "все остальные" работаете и не забывайте это.
Например под nobody:nobody работаете, а на каталог выставлено rootman:rootman. Попробуйте прочесть его содержимое при правах доступа 660. В этом суть задачи.


Цитата:

2. У каждого пользователя в системе Unix есть свой домашний каталог, в котором у него есть неограниченные права.

Ага, есть. По умолчанию. Только я ведь могу сделать так, чтобы неограниченных прав на каталог у вас не было. А то и вообще небыло домашнего каталога.


Цитата:
3. Пользователь rootman не может читать и просматривать каталоги и файлы Maks с правами 660, потому что rootman не является владельцем каталога Maks и не входит в группу Maks

Вот-вот, именно в этом и заключается суть предлагаемой задачи. Сервер работает с правами типа nobody:nobody а на каталог стоит rootman:rootman поэтому прочесть содержимое каталога вы не сможете. Соотвественно не сможете определить имя моего домашнего каталога, соотвественно и записать в него ничего не сможете, даже при том, что он имеет атрибуты 777, то есть запись доступна для всех.


Цитата:
1. Сервер в первую очередь запущен от пользователя root и может открывать любые файлы с любыми настройками доступа, хоть 000.

Ага, щас. Попробуйте считать файл /etc/shadow
Запустите на своем сервере такой скрипт:

Код:

<?php
$x=`cat /etc/shadow`;
print $x;
?>

И обломитесь вы считать этот файл.
Потому что под админом работает только базовый процесс сервера, все запросы к файлам осуществляются через те права доступа, которые прописаны в опциях User/Group его конфиг-файла. Делается это путем запуска клона, который меняет свои права доступа с администраторских, на те какие нужно и только потом обслуживает запрос юзера.


Цитата:
3. Пользователь rootman не может читать и просматривать каталоги и файлы Maks с правами 660, потому что rootman не является владельцем каталога Maks и не входит в группу Maks

Зато если rootman найдет в ваших скриптах дыру, позволяющую выполнять произвольный php-код, он получит полный доступ ко всем вашим файлам, но если же сервер работает с правами, отличными от ваших, он получит доступ только к тем файлам, которые открыты на запись "для всех остальных", изменить содержимое прочих файлов у меня не получится. Я вам это толкую с самого начала.


Цитата:
Вот, как раз-таки вот здесь, сервер http, у которого неограниченные права, переводит процесс с помощю suexec под пользователя, например - rootman, у которого есть ограниченные права (в отличии от самого сервера).

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


Цитата:
В чем здесь уязвиомсть, когда речь идёт наоборот - об ограничении прав одного пользователя, вот это и есть "феномен-rootmana"

Я вам писал. В случае уязвимости в скрипте, злоумылшенник получит полный доступа ко всем моим файлам.

dimasik, а зачем вам такой тэг?

Сообщение # 120 21.05.08 - 06:50:52

Maksir

M
Участник форума


Цитата:

Для особо одаренных снова: С чего вы взяли, что вы работаете с правами Владельца и принадлежите к указанной группе?

Для сильно вумных: а nobody:nobody чем вам не Владелец и Группа?
В системе Unix нет файлов без Владельцев и Групп по определению!

Цитата:
Вы как "все остальные" работаете и не забывайте это.

А по другому и быть не может! Только вы это не узреите никак, то о чем я говорю.
1. Сервер выдаёт на выход всё то, где настройки доступа определены "Для Всех"
2. Модуль PHP работает с nobody , где Владелец и Группа с правами 660, "Для всех остальных" значения не имеют! На выходе мы получаем результат работы скрипта.

Цитата:
Ага, есть. По умолчанию. Только я ведь могу сделать так, чтобы неограниченных прав на каталог у вас не было. А то и вообще небыло домашнего каталога.

Что за дурдом? И кому вы, как Хостер, будете нужны без каталога для пользователя под его страничку в сети?
Вы, когда создаёте свой сайт, берёт площадку у Хостера, вы там на своём сайте ставите настройки для файлов какие хотите? Значит вам позволено создавать и удалять файлы. Кто у вас отнимет эти права, какой дебил?

Цитата:
И обломитесь вы считать этот файл.

Ну вы рутман ваще ушлёпок... С какой это радости, сервер apache будет вам открывать системные каталоги, если у него в конфигурации прописан иной путь.... ????

Цитата:
В случае уязвимости в скрипте, злоумылшенник получит полный доступа

Каким образом?
Чем отличаются файлы с правами 660 и 666 ?
я предлогаю урезать права "Для Всех" там, где они не имеют никакого влияния на работу скрипта. Более того, можно убрать Группу и определить права 600 В чем здесь уязвимость? Какую дыру вы там собираетесь использовать?

Сообщение # 121 21.05.08 - 14:09:27

Rootman

R
гость


Цитата:

Для сильно вумных: а nobody:nobody чем вам не Владелец и Группа?
В системе Unix нет файлов без Владельцев и Групп по определению!

Для еще более умных. На каталог выставлены права rootman:rootman. С какого nobody:nobody здесь владелец?


Цитата:
2. Модуль PHP работает с nobody , где Владелец и Группа с правами 660, "Для всех остальных" значения не имеют! На выходе мы получаем результат работы скрипта.

Если скрипт работает под nobody, а права на файл rootman:rootman, то ничего ваш скрипт при доступе на файл 660 прочесть не сможет. Вам придется выставить 666, а не то, что вы все время пишите. Об чем я и толкую.


Цитата:
Что за дурдом? И кому вы, как Хостер, будете нужны без каталога для пользователя под его страничку в сети?

Опять вы ничего не поняли. Вам снова мою задачу повторить?
Вы имеете свой каталог на сервере, с именем например /home/users/DSdsfxzwq9839832dsf/ с правами доступа 777. На каталог-же /home/users/ выставлены права 660, т.е доступ на чтение его содержимого закрыт. В этом же каталоге находятся домашние каталоги других юзеров с такими же случайными именам, как и ваш и правами доступа тоже 777. Задача - записать что-нибудь в чужой каталог. Так доходит о чем речь?


Цитата:
Ну вы рутман ваще ушлёпок... С какой это радости, сервер apache будет вам открывать системные каталоги, если у него в конфигурации прописан иной путь.... ????

То есть как с какой. Системной команде cat /etc/shadow плевать, какой путь прописан в настройках сервера, она, как команда системы, считает то, что вы ее укажете. Я ведь не зря использовал здесь запуск системной команды а не команды работы с файлами из PHP.


Цитата:
Каким образом?
Чем отличаются файлы с правами 660 и 666 ?

Тем что в первые ничего нельзя записать если сервер выполняет скрипты под nobody. А вот если сервер выполняет скрипты с правами того же пользователя, который является владельцем файла (а вы это предлагаете) - тогда можно будет записать что угодно и куда угодно.


Цитата:
я предлогаю урезать права "Для Всех" там, где они не имеют никакого влияния на работу скрипта. Более того, можно убрать Группу и определить права 600 В чем здесь уязвимость? Какую дыру вы там собираетесь использовать?

Ну правильно, раз урезаете. Для скриптов запись для всех не нужна, необходимо лишь "чтение для всех", т.е права 664, для CGI - 665 или 775 (иначе не запустится). Файлам, доступным для записи - 666.

Сообщение # 122 22.05.08 - 07:24:45

Maksir

M
Участник форума


Цитата:

На каталог выставлены права rootman:rootman. С какого nobody:nobody здесь владелец?
У Хостера спроси. :)
я ничего не придумываю. Если через ftp заливаю и команда ls -l (как и сам Mignight Comander) показывают реального Владельца и Группу, значит так оно и есть. В конце концов, nobody, это всего лишь фикция для временых файлов. Возможно, у Хостера есть на этот счёт свой скрипт и настройки конфигурации PHP.

Цитата:
Если скрипт работает под nobody, а права на файл rootman:rootman, то ничего ваш скрипт при доступе на файл 660 прочесть не сможет. Вам придется выставить 666, а не то, что вы все время пишите. Об чем я и толкую.

Вопервых, PHP не работает с правами "Все". Это несложно проверить, - проверьте.
Вовторых, эти настройки с Владельцем и Группой важны только в том случае, если PHP записывает в этот файл что-то. Это тоже несложно проверить.
Файлы rootman:rootman модуль PHP открывает и читает. nobody только для файлов, где речь идёт о записи.

Цитата:
Вы имеете свой каталог на сервере, с именем например /home/users/DSdsfxzwq9839832dsf/ с правами доступа 777. На каталог-же /home/users/ выставлены права 660, т.е доступ на чтение его содержимого закрыт

Да всё я понимаю. Я даже ставил эксперименты по этому делу. И написал вам по неосторожности наивной, что командой ls -l можно узнать о содержимом в этом каталоге. Система пишит - "отказано в доступе к файлу ....такому-то..." И далее по каждому файлу в этом каталоге. Это локальный случай.

В ситуации с сервером, если к каталогу users права 660, я вам отвечаю - а у сервера в конфиге прописан путь к каталогу /DSdsfxzwq9839832dsf/. Это первое, второе - Сервер всё равно почем берёт эти файлы в вашем каталоге, смысл в том, по чем он их продаёт!!! Если вы указываете 777 , так оно и будет!

Цитата:
Системной команде cat /etc/shadow плевать, какой путь прописан в настройках сервера, она, как команда системы, считает то, что вы ее укажете

Куда вы клоните? Мы говорим о сервере вообще-то!
Через shell я смотрел корень каталога у Хостера, но дальше дозволенного мне нельзя было посмореть. Это всё решается, так или иначе - у меня нет прав root, следовательно, я немогу сам себе устанавливать права. Всё зависит от тех настроек, которые сам root определит на своём хосте.

Цитата:
Тем что в первые ничего нельзя записать если сервер выполняет скрипты под nobody. А вот если сервер выполняет скрипты с правами того же пользователя, который является владельцем файла (а вы это предлагаете) - тогда можно будет записать что угодно и куда угодно.

В первом случае, это в каком? (указывать надо) а то всё вокруг да около...
В первом и во втором случае, если скрипт выполняет запись в файл, он может записать с правами nobody, и даже в третьем случае где права 600 можно поставить. Если речь идёт о файле, которые содержат просто код, сценарий скрипта, там nobody неважен, важны лишь настройки доступа для Владельца. Для PHP неважнен прараметр - "Все остальные", вот о чем я хочу сказать. Он просто ненужен там, поскольку не несёт никакой поддержки для работы скрипта. Это несложно проверить, ЕСЛИ ВАМ НЕ ЛЕНЬ!!!

Цитата:
Ну правильно, раз урезаете. Для скриптов запись для всех не нужна, необходимо лишь "чтение для всех", т.е права 664, для CGI - 665 или 775 (иначе не запустится). Файлам, доступным для записи - 666

Ну, вы уже почти-почти меня поняли. :)
Только файлам на запись для обработки интропритатора PHP, группа - Все остальные, тоже не имеют значения. Важен только пользователь/Владелец nobody

Сообщение # 123 22.05.08 - 14:01:45

Igor

I
гость

Когда на своем емайле я хотел авторизировать свой логин мне выдало такое
*Вернитесь назад. Вы ошиблись в воде активационного ключа или емайла.*
Хотя до этого авторизировал без проблем. Ошибок не выдает только эту запись...Что может быть?

Сообщение # 124 22.05.08 - 18:24:51

Igor

I
гость

Если что мой форум тут http://www.bdsm.planet.ee/forum/index.php

Сообщение # 125 22.05.08 - 18:27:21

Rootman

R
гость


Цитата:

У Хостера спроси. :)
я ничего не придумываю. Если через ftp заливаю и команда ls -l (как и сам Mignight Comander) показывают реального Владельца и Группу, значит так оно и есть.

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


Цитата:
Вопервых, PHP не работает с правами "Все". Это несложно проверить, - проверьте.

И к чему такая категоричность? PHP будет работать с теми правами, которые вы ему установите. В данном случае nobody:nobody аналолгично работе с правами "для всех остальных".


Цитата:
Файлы rootman:rootman модуль PHP открывает и читает. nobody только для файлов, где речь идёт о записи.

С чего вдруг? У него владелец и группа другие - nobody:nobody, поэтому файлы с 660 ему недоступны.


Цитата:
В ситуации с сервером, если к каталогу users права 660, я вам отвечаю - а у сервера в конфиге прописан путь к каталогу /DSdsfxzwq9839832dsf/. Это первое, второе - Сервер всё равно почем берёт эти файлы в вашем каталоге, смысл в том, по чем он их продаёт!!! Если вы указываете 777 , так оно и будет!

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


Цитата:
Куда вы клоните? Мы говорим о сервере вообще-то!

И я о сервере. Напомню, вы говорили следующее:

Цитата:
Сервер в первую очередь запущен от пользователя root и может открывать любые файлы с любыми настройками доступа, хоть 000

Я вам посоветовал выполнить cat /etc/shadow чтобы вы убедились что ничего подобного.


Цитата:
В первом случае, это в каком? (указывать надо) а то всё вокруг да около...
В первом и во втором случае, если скрипт выполняет запись в файл, он может записать с правами nobody, и даже в третьем случае где права 600 можно поставить.

В первом случае - это в вашем. В нем дествительно сервер может записать в файл на который выставлены даже права 600. В моем случае (работа с правами nobody:nobody) ни записать ни даже прочесть такой файл сервер не сможет.


Цитата:
Ну, вы уже почти-почти меня поняли. :)
Только файлам на запись для обработки интропритатора PHP, группа - Все остальные, тоже не имеют значения. Важен только пользователь/Владелец nobody

Здесь под nobody работает только сервер, на файле стоят совсем другие вледалец и группа, поэтому если вы уберете права "все остальные" для сервера файлы станут недоступными.

Сообщение # 126 23.05.08 - 06:11:34

Maksir

M
Участник форума

Igor, если можно, по порядку...
1. Вы зарегестриовались.
2. Не активировали свою учётную запись с кодом, который был отправлен на ваш email, хотя до этого...

Цитата:

Хотя до этого авторизировал без проблем

итак, что вас смущает?

Сообщение # 127 23.05.08 - 23:17:18

Nika

N
гость

Привет. Подскажите пожалуйста, можно ли как нибудь поставить на форум ссылку возврата на сайт?

Сообщение # 128 24.05.08 - 12:12:33

Igor

I
гость

Проблема в том что когда я установил этот форум то я первым зарегистрировался там что бы проверить и без проблем прошел активацию своего ника. Потом Регистрацию прошли еще другие посетители форума. Где то 10 человек а вот дальше когда стали регистрироваться новые посетители стали поступать жалобы что они не могут пройти авторизацию. Им пишет что код авторизации не верный. Тогда я попробовал еще раз сам сделать регистрацию нового ника и не смог пройти авторизацию так же как и они. Мне выдало такую же надпись что код авторизации неправильный. Тогда я убрал функцию авторизации через емаил и все равно новые посетители не могут зарегистрироваться.

Сообщение # 129 24.05.08 - 16:07:09

Maksir

M
Участник форума

Nika, здесь? или на вашем сайте (у себя вы можете всё, что угодно. а здесь есть внизу Powered by WR-Forum © 1.8M)
Igor, попробуйте пока перезалить файл tools.php , хотя врятли это поможет, скорее всего здесь дело в самой БД. Возможно, в файле базы о пользователях есть какой-то пустой знак, или наоборот, - нужно посмотреть.

rootman

Цитата:

И к чему такая категоричность? PHP будет работать с теми правами, которые вы ему установите. В данном случае nobody:nobody аналолгично работе с правами "для всех остальных".

Я говорю что, PHP будет работать от пользователя, и Группа и Все остальные ему ненужны. По крайней мере "Все" ненужны точно для файлов с расширением php
Цитата:
С чего вдруг?
Да с того, что я праверял это везде. Могу продемонстрировать и для Вас на любом бесплатном хосте. Предлагайте, а то я устал уже на пустом разговоре что-то вам объяснять.

Цитата:Сервер в первую очередь запущен от пользователя root и может открывать любые файлы с любыми настройками доступа, хоть 000

rootman:Я вам посоветовал выполнить cat /etc/shadow

Вы вообще ощущаете разницу между каталогом сервера и системным каталогом?
Сервер httpd откроет файл, в своём каталоге но если в файле не указаны атрибуты на чтение "Для всех", он его не покажет. В этом случае Владелец и Группа можно даже не указывать. Это относится только для статический файлов, с обычным текстом с расширением html
на какой черт серверу системный каталог пихать? у сервера прописан путь к каталогу о нём и речь ведём. Ну вы точно с Узбекистана...


Цитата:
Здесь под nobody работает только сервер, на файле стоят совсем другие вледалец и группа, поэтому если вы уберете права "все остальные" для сервера файлы станут недоступными.

Да, если уберу "Все остальные", то сервер этот файл и не покажет. Ну а Владелец и Группа тут причём? (если это статический файл)
Владелец и Группа нужны там, где речь идёт о PHP модуле, потому что он их берёт на чтение, и если нужно в файл что-то перезаписать, тогда нужен Владелец nobody. Права "Все" PHP вообще ненужны. А Сервер как раз берёт любой файл, только показывает те файлы, у которых атрибуты на чтение Для Всех открыты.

Короче, чего с вами спорить, давайте любой хостер я вам сам всё покажу на деле. А то чувствую, вы ещё долго будете пересоображать, как этот механизм устроен.

Сообщение # 130 24.05.08 - 17:33:43
"Репутация" :Предыдущая темаСледующая тема: Не заходит в админ панель. Что делать?
Страницы:  1 ... 8  9  10  11  12  ... 27

Сообщение
Имя E-mail
Сообщение

Нажмите на точку возле имени для обращения к участнику

Смайлы:

Ещё смайлы
Эмодзи
         
Защитный код: (введите цифры, которые на синем фоне)
Ответ на вопрос: (2+2=?)
   
WR-Счётчик
Powered by WR-Forum Professional © 2.3 UTF-8 beta версия