Как я могу надежно разрешить веб-пользователям создавать файлы? -- php поле с участием linux поле с участием apache поле с участием file-permissions пол Связанный проблема

How can I securely allow web users to create files?


0
vote

проблема

русский

Я строю веб-сайт, который позволяет определенным пользователям писать отзывы, и я хочу автоматически генерироваться небольшой PHP-файл, когда они делают. Какой самый безопасный способ создать разрешения на учетные записи / группы / файла, чтобы позволить этому? В идеале я бы хотел, чтобы писатели обзора сможете изменить название в том случае, если они допустили ошибку, что потребует PHP, чтобы иметь возможность не только создавать файлы и папки, но и двигаться и / или удалять их. Однако это не абсолютная необходимость. Мой тестовый сервер работает Linux / Apache, новейшие версии всего, а для целей тестирования я временно устанавливаю владельца основных отзывов папки в качестве сервера. Я также открыт для других предложений о том, как это случилось. Я не совсем это парень, но я могу написать сценарии Shell просто хорошо.

Редактировать:

Благодаря выбранному ответу я смог придумать решение. Я использовал этот гид ( http://www.seomoz.org/ugc/using-mod-rewrite-to-convert-dynamic-urls-to-se-dribressly-urls ) и модифицировал его, чтобы просто загрузить желаемый сценарий PHP с помощью Нет переменных, которые я разработал для получения информации непосредственно из исходного URL-адреса с использованием $_SERVER['REQUEST_URI'] . Вот как выглядит мой файл .htaccess; Он отправляет <код> www.domain.com/reviews/the-review-filepath.php на <код> www.domain.com/reviews/review.php .

 <код> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule !^review.php$ review.php   
Мне было намного легче сделать это таким образом, потому что я намного больше о PHP, чем обычные выражения. Спасибо всем, кто ответил и / или прокомментировал. Это намного лучше, чем так, как я пытался сделать это раньше.
Английский оригинал

I'm building a website which allows certain users to write reviews, and I want a small php file to be automatically generated when they do. What's the most secure way to set up accounts/groups/file permissions to allow this? Ideally, I'd like the review writers to be able to change the title in case they make a mistake, which would require php to be able to not only create files and folders, but move and/or remove them, as well. However, that's not an absolute necessity. My test server is running Linux/Apache, the newest versions of everything, and for testing purposes I've temporarily set the owner of the main reviews folder as the server. I'm also open to other suggestions on how to make this happen. I'm not really an IT guy, but I can write shell scripts just fine.

Edit:

Thanks to the selected answer, I was able to come up with a solution. I used this guide (http://www.seomoz.org/ugc/using-mod-rewrite-to-convert-dynamic-urls-to-seo-friendly-urls), and modified it to just load the desired php script with no variables, which I designed to retrieve the information directly from the original URL using $_SERVER['REQUEST_URI']. Here's what my .htaccess file looks like; It sends www.domain.com/reviews/the-review-filepath.php to www.domain.com/reviews/review.php.

RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule !^review.php$ review.php 

It was much easier for me to do it this way because I a lot more about PHP than regular expressions. Thanks to everyone who answered and/or commented. This is much better than the way I was trying to do it before.

</div
           
         
         

Список ответов

1
 
vote
vote
Лучший ответ
 

Расширение от комментариев:

Если вы хотите получить «чистый» URL (например, <код> /post/123/comment/456 ) вместо «параметризованного» URL (например, <код> padding0 ), вы все равно можете использовать базу данных и взять Преимущество <код> padding1 (так как вы помечены < CLASS = "POST-TAG" href = "/ Вопросы / tagged / apache" rel = "Тег" Название = "Показать вопросы Tagged 'apache'"> Apache ).

 

Extending from comment:

If you want to get a "clean" url (e.g. /post/123/comment/456) instead of "parameterized" url (e.g. /?post=123&comment=456), you can still use database, and take advantage of mod_rewrite (since you tagged apache).

</div
 
 

Связанный проблема

6  CloudFlare API Перевести зависть в PHP Curl и отправить обновление CNAME  ( Cloudflare api translate curl to php curl and send cname update ) 
Это вопрос и ответ после многих исследований, используя некоторую информацию из других ответов, обнаруженных на StackoverFlow. Как конвертировать command-li...

1  Как использовать URLFetch в PHP  ( How to use urlfetch in php ) 
Где я могу получить файлы библиотеки API или PHP для использования URLFetch? Я искал в нескольких местах в документации по двигателю Google App. Мне удалось...

19  Как я могу получить простоту PHP (развертывание), но мощность Perl?  ( How can i get phps deployment simplicity but perls power ) 
Я презираю язык PHP, и я совершенно уверен, что я не одинок. Но великая вещь о PHP - это способ, которым mod_php принимает и скрывает детали образования горы ...

1  Запрос CURL PHP для ошибки возврата веб-службы  ( Php curl request for web service returning error ) 
Я продолжаю получать ошибку: «Не удалось отменить сущность Serialize» при выполнении запроса на отдых ниже. Я предполагаю, что это связано с форматированием м...

0  Создание электронной почты на основе запроса MySQL  ( Generating an email based on mysql query ) 
У меня есть 2 таблицы, отображаемые ниже. Похожие словари: . + -------------------------------- + |. Пользователь |. ilike |. + ---------------------------...

1  PHP UNIX Время отсутствует Zeros  ( Php unix time missing zeros ) 
Хорошо, поэтому у меня есть следующая формула, но по какой-то причине, когда я не могу сказать, если это 5 минут или 50 минут, потому что он либо не отображае...

1  Разделение строки в номер телефона и расширение с помощью preg_match  ( Splitting a string into a phone number and extension using preg match ) 
Так что я пытаюсь разделить строку, которая содержит номер телефона и расширение, так как иногда существует расширение в строке. Это моя попытка: <код> $tes...

15  Рассчитать, какие продукты вместе доставят запрошенную силу  ( Calculate which products together would deliver the requested power ) 
Допустим, у меня есть три продукта: <Сильный> Продукт A Доставит 5 власти. Стоит 50. Product B доставит 9 мощность. Стоит 80. <Сильный> продукт C до...

21  Нарезка многомерного массива PHP через один из его элементов  ( Slicing a multi dimensional php array across one of its elements ) 
сказать, например, вы только что запрашивали базу данных, и вы получили этот 2D-массив. <код> $results = array( array('id' => 1, 'name' => 'red' , 'spi...

2  Как загрузить OpenSSL.SO Динамическая библиотека в PHP 5.2.1  ( How to load openssl so dynamic library in php 5 2 1 ) 
Я недавно установил MAMP версию 1.6 на моем Mac OS 10.5.7. Теперь я управляю сценарием для подключения к сайту с помощью SSL. После некоторых исследований я...

1  Экспорт Результат MySQL для Excel  ( Export mysql result to excel ) 
Я нашел небольшой скрипт, который будет экспортировать информацию в файл XLS, но я не могу, кажется, не могу работать. Оригинальный код найден здесь: http: /...

0  PHP Copy () Проблемы и специальные символы  ( Php copy problems and special characters ) 
Я в настоящее время копирую определенные файлы, когда пользователь обновляет определенную информацию. Тем не менее, поскольку мы не можем иметь особых специал...

2  Найти реалированные данные таблицы1 в Таблице2  ( To find realted data of table1 in table2 ) 
Table1 имеет некоторые данные как категории Table2 имеет некоторые данные, которые реализуются в категориях Table1 и соотношение между двумя таблицами...

0  Как я могу получить значение группы записей в группу столбца, используя с функцией в Laravel Eloquent ORM  ( How can i get count of records group by a column using with function in laravel ) 
Мне нужно получить количество записей <код> groupBy с использованием <код> with() функция, известная как adgerage loading. У меня есть две таблицы, имеющие ...

0  JQuery Mobile Link от PHP до HTML не работает, но URL делает изменения  ( Jquery mobile link from php to html not working but url does change ) 
Хорошо, так что когда я вошел в систему в свое приложение (index.html), я принимаю в login.php, отсюда я хочу меню для пользователя, но ни одна из моих ссылок...

Связанный проблема

6  CloudFlare API Перевести зависть в PHP Curl и отправить обновление CNAME 
1  Как использовать URLFetch в PHP 
19  Как я могу получить простоту PHP (развертывание), но мощность Perl? 
1  Запрос CURL PHP для ошибки возврата веб-службы 
0  Создание электронной почты на основе запроса MySQL 
1  PHP UNIX Время отсутствует Zeros 
1  Разделение строки в номер телефона и расширение с помощью preg_match 
15  Рассчитать, какие продукты вместе доставят запрошенную силу 
21  Нарезка многомерного массива PHP через один из его элементов 
2  Как загрузить OpenSSL.SO Динамическая библиотека в PHP 5.2.1 
1  Экспорт Результат MySQL для Excel 
0  PHP Copy () Проблемы и специальные символы 
2  Найти реалированные данные таблицы1 в Таблице2 
0  Как я могу получить значение группы записей в группу столбца, используя с функцией в Laravel Eloquent ORM 
0  JQuery Mobile Link от PHP до HTML не работает, но URL делает изменения 



© 2021 www.qaru.top All Rights Reserved. Q&A House все права защищены


Licensed under cc by-sa 3.0 with attribution required.