PHP изменяют разрешения папки для коммуникабельных команд только

У меня есть веб-сайт совместного доступа к файлам в процессе создания, где я позволяю визуальную часть и часть функции работы страниц. Это сталкивается с проблемой, когда я хочу позволить сценариям серверной стороны как PHP страницы быть загруженными. Этот PHP (и т.д.). страница могла легко обратная ссылка и удалять файлы, которые я, очевидно, не хотел бы. Я изменил разрешения много раз, чтобы проверить, но это также мешает моим PHP файлам загрузить и переименовать файлы к этим папкам. Я действительно хочу позволить эти типы файлов, но я не уверен, что я могу сделать.

Я думал, что мог сделать это через .htaccess, но я не буду знать как.

Какие-либо предложения?

1
nl ja de

3 ответы

Я не уверен, но это кажется, что вы хотите позволить произвольные закачки файла (включая.PHP сценарии), но препятствовать тому, чтобы любой из них был выполнен на серверной стороне.

Я рекомендовал бы создать каталог хранения файла, который является не доступный для сети (например, поместите его вне своего www-корня или используйте .htaccess файл, чтобы ограничить прямой доступ). Тогда имейте свою закачку Сценариев PHP к тому справочнику. Создайте сценарий загрузки и имейте доступ загрузки к тем файлам, проходят тот сценарий, так, чтобы, например, PHP файлы не могли быть призваны удаленно.

3
добавлено
Это могло работать, но проблема состоит в том, что я хочу, чтобы веб-файлы были показаны визуально. Мне запрограммировали это отлично туда, где веб-файлы показаны, и другие загружаются. Это означает, что к этим файлам получают доступ и показывают в user.php страницу, которая загружает пользовательские данные и делает их страницу. Таким образом, делая файлы не сетью доступный и от того, чтобы быть выполненным, которое означает, что PHP файлы не работали бы вообще для пользователя. Я просто хочу ограничить их функции от повышения справочников за пределами их собственного:/
добавлено автор Spencer May, источник
Я проверил его, и это, кажется, своего рода способ остановить переменное прохождение и такой, но I' m не верный it' s, в чем я нуждаюсь. Я хочу все позволенные функции и не только PHP, также гадюка и все serer сценарии стороны. Я просто хочу способ мешать любым функциям достигнуть справочника или от разрешений папки или от кода. Спасибо за ваш вход.
добавлено автор Spencer May, источник
Если вы просто хотите, чтобы HTML был показан визуально (т.е. сохраняющий hrefs к изображениям и т.п.), можно сделать, то использование переписывает, чтобы помешать относительным URL ломаться. Однако это действительно кажется, что вы хотите, чтобы Сценарии PHP были в состоянии бежать с ограничениями. Это раньше было возможно ограниченным способом с безопасным режимом, но это было удержано от использования и удалено, потому что он был сломан, и насколько я знаю there' s никакая безопасная альтернатива. Если вы хотите, чтобы ваш Сценарий PHP позволил снабженному пользователями коду PHP бежать, я думаю you' ре, не собирающееся быть в состоянии сделать это надежно.
добавлено автор asmecher, источник
На самом деле я, возможно, говорил слишком скоро; посмотрите runkit.
добавлено автор asmecher, источник
That' s чрезвычайно трудная задача; I' m не уверенный, каков фон, таким образом, I' m не уверенный, как устойчивый, что требование, но если there' s любой шанс вновь исследовать его я сделал бы так. Технически можно быть в состоянии сделать это, заставляя каждую окружающую среду сценариев выполнить в setuid окружающей среде, но я сомневаюсь относительно it' s собирающийся оправдывать объем работы.
добавлено автор asmecher, источник

Если я понимаю правильно от чтения комментариев:

Вы хотите, чтобы пользователи были в состоянии загрузить любой файл. Включая код. Включая .php, .asp и т.д. Вы хотите, чтобы пользователи были в состоянии выполнить этот код, но ограничить код окружающей средой "песочницы".

Кажется мне, необходимо написать файлы определенному местоположению, у которого есть его собственный документ root/vhost (http://exec.domain.tld).

На этом vhost вы могли установить безопасность, т.е.:

AllowOverride None # disable rewriting and such
php value disable_functions dl,exec,passthru,system,shell_exec,popen # disable functions

И завершать его (! важный), устанавливает basedir ограничения на vhosts корень документа


  php_admin_value open_basedir /srv/www/exec.domain.tld/docroot 

Я на самом деле не настроил эту окружающую среду, но я чувствую, что это - ваша лучшая отправная точка. И я действительно думаю, что это будет работать, если вы зафиксируете ошибки опечатки/названия параметра, я, возможно, сделал:)

1
добавлено
Вы правильны на том, что я хочу, но я понятия не имею, как сделать это.
добавлено автор Spencer May, источник
Если вы хотите пользователя, загруженного, чтобы быть выполненными на вашем сервере, вы лучше удостоверяетесь, что понимаете то, как сделать вышеупомянутое. Безопасность в вашем случае главная. Знание, как формировать ваш webserver/permissions, делает его верной ставкой, что вы будете взломаны где-нибудь вдоль линии.
добавлено автор Damien Overeem, источник

Я думаю, что это не о разрешении, но PHP выполнении. Можно выключить PHP двигатель на справочнике, используя .htaccess файл, как это:


    php_flag engine off

1
добавлено
Это позволило бы мне все еще выполнять К папке? Но просто держите файлы в папке от выполнения? Я пытался использовать это в своем .htaccess файле, но этом didn' t работают:/
добавлено автор Spencer May, источник
Выполните К папке, да. Также необходимо разрешить IfModule, и php_flag в той папке, используя AllowOverride Все в апачской конфигурации.
добавлено автор ihsan, источник
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp