1

Я пытаюсь заставить веб-приложение работать на моем сервере. Приложение использует 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 Error вместо HTTP Error в браузере, но журнал сервера все еще показывал код 401.

Затем я попробовал несколько различных настроек (3 в разных формах), вдохновленных со страницы: http://ellislab.com/forums/viewthread/109751/

Но, несмотря на различия в структуре приложения, которые я работаю вслепую, я не совсем понимаю синтаксис переписывания Apache. Даже с помощью: http://httpd.apache.org/docs/current/rewrite/remapping.html

Могу ли я получить помощь с этим.

1 ответ1

0

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

Рекомендации

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .