все. Я новичок в веб-разработке, поэтому будьте осторожны. Прошу прощения, если я публикую тему, которая уже обсуждалась; Я искал, но не смог найти то, что искал, в другом потоке.
Предыстория: у меня есть сайт, который позволяет загружать файлы, но после загрузки их не нужно будет просматривать никому, кроме меня. Я реализовал некоторые меры безопасности, такие как использование сценария загрузки php только для определенных расширений, изменение загруженных файлов на 0644 и использование -ExecCGI для различных расширений в файле htaccess внутри папки загрузок.
Вопросы (их три, вам не повезло):
1) Я бы хотел, чтобы мой файл htaccess переписывал расширения php как что-то еще. Я нашел немного кода для этого, но не могу заставить его работать:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^PUT$ [OR]
RewriteCond %{REQUEST_METHOD} ^MOVE$
RewriteRule ^(.*)\.php /site_redone/uploads/$1.nophp
структура сайта выглядит так (по крайней мере, пока я переделываю сайт): mysite.com/site_redone/uploads
Я знаю, что хост моего общего сервера разрешает mod_rewrite. Они используют php 5.2.10. Не уверен, что моя проблема связана с проблемой пути (я еще не совсем понял эту часть), но безрезультатно пробовал различные перестановки путей в части RewriteRule.
2) В настоящее время у меня есть имена файлов, к которым добавляется своего рода отметка времени (time ()), чтобы предотвратить перезапись файлом с тем же именем, поэтому, например, myfile.doc становится myfile1252087685.doc. Я могу сохранить расширение в базе данных MySQL и просто переписать имя файла, чтобы оно заканчивалось на .txt или что-то в моем сценарии загрузки php, но я не уверен, что это приведет к тому же, что и вышеупомянутая попытка mod_rewrite.
3) Есть ли способ поместить файл htaccess в более высокий каталог из папки загрузок, чтобы он не мог перезаписать мой ne'erdowell, пока он находится в папке загрузок? Я хочу, чтобы это повлияло только на папку загрузок, а не на каталог, в котором она находится. Я предполагаю, что это каким-то образом связано с использованием каталога, но я не знаю, как это сделать. Я упоминал, что я новичок в этом?
Заранее спасибо!