Uploadify avec authentification Apache

1

J'essaie de faire fonctionner une application Web sur mon serveur. L'application utilise uploadify et c'est la seule partie pour laquelle je ne peux plus me rendre au travail.

J'ai un alias pour accéder à l'application: (dans /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>

La structure de l'application Web dans le dossier / 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)

Le premier fichier 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>

Après avoir lancé l'application avec la première installation (1), le message "Erreur HTTP" s'affiche dans le navigateur lorsque j'essaie de télécharger un fichier et que le journal du serveur s'affiche:

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"

Un code d'état HTTP 401 - Non autorisé. Alors j'ai essayé de compléter setup (1) avec le code (2).

J'ai également ajouté un fichier htaccess au dossier /home/user/greatapp/uploads/.htaccess:

AuthType None
Require all granted
Satisfy Any

J'ai ensuite eu IO Error au lieu de HTTP Error dans le navigateur, mais le journal du serveur indiquait toujours le code 401.

J'ai ensuite essayé différentes configurations (3-dans différentes formes), inspirées de la page: http://ellislab.com/forums/viewthread/109751/

Mais avec les différences dans la structure de l'application, je travaille à l'aveugle, je ne comprends pas vraiment la syntaxe de réécriture d'Apache. Pas même avec l'aide de: http://httpd.apache.org/docs/current/rewrite/remapping.html

Puis-je s'il vous plaît obtenir de l'aide avec cela.

John Master
la source

Réponses:

0

L'authentification Uploadify avec BASIC nécessite que les informations d'identification soient envoyées avec le POST. Voici un exemple:

https: // foo: [email protected]/showGreatApp/ajax/project/issue_upload_attachment

Attention, ce n'est pas sécurisé:

Le nom d'utilisateur et le mot de passe sont envoyés via le réseau Base64 codé en texte brut et non crypté. Par conséquent, si vous comptez utiliser l'authentification de base, il est extrêmement important que SSL soit utilisé pour sécuriser la communication.

Si vous avez une version récente d'Apache, AuthBasicFake est une meilleure alternative:

<Location /showGreatApp/ajax/project/issue_upload_attachment>
 AuthBasicFake demo demopass
</Location>

En plus, ajoutez ceci à votre .htaccess

order allow,deny
deny from all
Options All -Indexes

Références

Paul Sweatte
la source