Uploadify с проверкой подлинности apache
Я пытаюсь заставить веб-приложение работать на моем сервере. Приложение использует uploadify, и это единственная часть, которую я сейчас не могу заставить работать.
У меня есть псевдоним для доступа к приложению: (в /etc/apache2/conf.d/appalias)
Alias /showGreatApp /home/user/greatapp
<Directory /home/user/greatapp>
AllowOverride All
AuthType Basic
AuthName "Welcome to Great App"
Require valid-user
AuthUserFile /etc/apache2/appuser-htpasswd
</Directory>
Структура веб-приложения в папке / home / user / greatapp:
.htaccess (see content below)
app
application
assets (includes uploadify : assets/js/uploadify)
index.php (configured to use application-folder "./app/application")
uploads
.htaccess (see content below)
Первый htaccess-файл (/home/user/greatapp/.htaccess):
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /showGreatApp/
# - (1) First try only these Three lines, not the other blocks (mod_security and mod_php5).
# - With this setup everytihing in the app works except the fileupload (uploadify).
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]
# - (3) From example.
# - but with the different app-structure I have no idea hov to apply it to my case.
RewriteCond %(index\.php|(.*)\.swf|uploads|app|robots\.txt)
RewriteRule ^(.*)$ index.php [L]
</IfModule>
# - (2) Added this to setup (1).
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
# - Later tests, did not seem to make any difference.
<Ifmodule mod_php5.c>
SecFilterEngine "off"
SecFilterScanPOST "off"
</Ifmodule>
После того, как я запустил приложение с первой установкой (1), в браузере я получил "HTTP Error" при попытке загрузить файл и журнал сервера, который я получил:
192.168.1.196 - - [15/Jan/2014:21:10:08+0100] "POST /showGreatApp/ajax/project/issue_upload_attachment HTTP/1.1" 401 788 "-" "Shockwave Flash"
Код состояния HTTP 401 - не авторизован. Затем я попытался дополнить setup (1) кодом (2).
Я также добавил htaccess-файл в папку /home/user/greatapp/uploads/.htaccess:
AuthType None
Require all granted
Satisfy Any
Затем я получил ошибку IO вместо HTTP Error в браузере, но в журнале сервера все еще был код 401.
Затем я попробовал несколько различных настроек (3 в разных формах), вдохновленных со страницы: http://ellislab.com/forums/viewthread/109751/
Но, несмотря на различия в структуре приложения, которые я работаю вслепую, я не совсем понимаю синтаксис переписывания Apache. Даже с помощью: http://httpd.apache.org/docs/current/rewrite/remapping.html
Могу ли я получить помощь с этим.
1 ответ
Uploadify с BASIC-аутентификацией требует, чтобы учетные данные аутентификации были отправлены с POST. Вот пример:
https://foo:bar@company.com/showGreatApp/ajax/project/issue_upload_attachment
Остерегайтесь, что это не безопасно:
Имя пользователя и пароль передаются по проводам Base64 в зашифрованном виде, без шифрования. Поэтому, если вы будете использовать обычную аутентификацию, крайне важно использовать SSL для защиты связи.
Если у вас последняя версия Apache, AuthBasicFake - лучшая альтернатива:
<Location /showGreatApp/ajax/project/issue_upload_attachment>
AuthBasicFake demo demopass
</Location>
Кроме того, добавьте это в свой .htaccess
order allow,deny
deny from all
Options All -Indexes
Рекомендации