Я относительно новичок в веб-разработке, поэтому, пожалуйста, будьте терпеливы.
Я в первую очередь разработчик для iPhone, но недавно сделал сайт для кого-то другого, используя общий хостинг. Я мог бы писать в файлы на PHP на этом сайте нормально, не думая о разрешениях.
Я нахожусь в процессе развертывания веб-службы для нового приложения, которое я делаю, но на самом деле все идет не так гладко. Самым важным отличием здесь является то, что я использую чужой сервер и просто имею доступ к FTP / DB.
По сути, у меня есть множество файлов PHP, которые составляют мою CMS, например:
mysite.com/admin/manage_news.php
mysite.com/admin/manage_events.php
Эти сценарии затем редактируют базу данных или файлы. Они могут нормально взаимодействовать с БД, однако мои скрипты не могут записать в файловую систему. Они могут, например, попытаться записать в следующие файлы:
mysite.com/data/img/event_1.png
mysite.com/data/somefile.txt
Это работало нормально на моей установке MAMP (локально), но после развертывания на сервере PHP выдавал ошибки каждый раз при попытке записи ... что-то вроде этого:
Не удалось открыть файл "../data/img/someimage.png" для записи.
Я отправил письмо парню, который работает на сервере, и он вернулся, сказав:
Работает ли это с разрешения общественности? (777)
И так оно и было - но я был очень осторожен с публичными разрешениями, поэтому сразу же отключил его. Я написал ему по электронной почте: «Как я могу написать свои PHP-скрипты, используя стандартные разрешения пользователя», и он сказал:
Оставьте это как публичное, все будет хорошо
Я считаю, что это конфликт IP-адресов где-то в разрешении домена, но я не беспокоюсь об этом.
Затем я отправил ему электронное письмо со словами «конечно, это небезопасно» или что-то в этом роде, и он ответил со следующим:
Реальность такова, что существуют миллионы веб-сайтов, в том числе несколько, которыми я управляю, которые имеют 777 в разных папках, это просто образ жизни.
Кто-нибудь может дать мне некоторое представление о решении, которое я мог бы дать ему? Или что я могу сделать, чтобы избежать использования 777? Мне действительно не нравится идея, чтобы какие-либо папки на моем сайте / сервисе были общедоступными для записи.
Я был бы очень признателен за ваш совет, поскольку я очень мало знаю о веб-серверах.