Die WinTipps 2001

Apache - apache konfig und downloads

DollHaus - 28.11.2003, 16:47
Titel: apache konfig und downloads
Hallo zusammen,


ich habe ein board auf dem sich alle anmelden/registrieren lassen müssen
so wie hier*
innerhalb des forums kann downloaden..... aber nur wenn ich dann nochmal einen username und passwort eintrage*

wie kann man das machen, dass sich die angemeldeten die ja schon im board sind dann auch ohne weitere anmeldung auf den ordner zugreifen können?
der downloadordner hat eine .htaccess und .htpasswd
im prinzip ist nur ein benutzername und EIN passwort verfügbar das alle nutzen*

der hauptgrund für den verzeichnisschutz ist eigentlich,dass man nicht die domäne mit dem verzeichnis sichtbar listen kann ohne sich anzumelden*
muss doch eine möglichkeit geben wie man beides verbindet*

weiss jemand rat?
confused.gif
Webmaster - 28.11.2003, 17:12
Titel: RE...
Moin,

das funzt so nicht über eine .htaccess.

Dafür solltest Du ein PHP-Script schreiben, welches überprüft, ob ein User eingeloggt ist und dementsprechend die Dateien in dem Verzeichnis anzeigt.
Dann musst Du nur noch in der .htaccess (in dem Verzeichnis) die Direktive Options -Indexes setzen, damit man das Verzeichnis nicht direkt aufrufen kann.

Was für eine Foren-Software benutzt Du?
DollHaus - 28.11.2003, 17:17
Titel:
oh wie geil*
das erste forum dass mir mal antortet*g*

ich benutze das grosse woltlab board*
DollHaus - 28.11.2003, 17:30
Titel:
die htaccess benutze ich eigentlich grad nur um nicht die downloadseite listen zu lassen*
denn wenn ich www.domain.de/download eingeb dann listet der die downloads
*
Webmaster - 28.11.2003, 17:42
Titel: RE...
Füge das in Deine httpd.conf ein (Du musst natürlich den Pfad anpassen...):
Zitat:

<Directory X:/www/download">
Options -Indexes
</Directory>

Nun den Apache neustarten und dann wird der Verzeichnisinhalt nicht mehr aufgelistet.
DollHaus - 28.11.2003, 17:52
Titel:
das ist ja super....
aber damit hab ich noch nicht die ganze geschichte erledigt oder?


noch kurz : welche zeile ,welches directory ,brauch ich dafür?

ich weiss jetzt grad nicht wo das genau reingehört*
Webmaster - 28.11.2003, 18:03
Titel: RE...
Wenn der Pfad zum Download-Verz. "c:\download" ist, muss die Anweisung so aussehen:
Zitat:

<Directory "c:/download">
Options -Indexes
</Directory>

Schreibe die Anweisung am Ende der httpd.conf (findest Du im Verz. Apache\conf).

Jetzt kannst Du in Deinem Forum direkt auf die Dateien verlinken:
[pre:b2bac6fc2f]http://www.deine-domäne.de/download/test.exe[/pre:b2bac6fc2f]

Damit wäre alles erledigt...
DollHaus - 28.11.2003, 18:17
Titel:
danke
das war zwar alles verständlich geschrieben...nur hab ich in der
httpd.conf mehrere <directory /
verweise drinstehen*

super vielen dank übrigens für die mühe* icon_wink.gif
DollHaus - 28.11.2003, 19:09
Titel: Re: RE...
Webmaster hat folgendes geschrieben::
Jetzt kannst Du in Deinem Forum direkt auf die Dateien verlinken:
[pre:69190af4c5]http://www.deine-domäne.de/download/test.exe[/pre:69190af4c5]

Damit wäre alles erledigt...



hab ich gemacht und das listing verbietet er jetzt*
also www.domain.de/download funzt mit FORBIDDEN*

nur wenn ich innerhalb des forums draufklicke bekomme ich auch kein listing*
aber ich möchte dass innerhalb des forums gelistet wird*

kann ich dann wohl so nicht machen odr?
Webmaster - 28.11.2003, 19:34
Titel: RE...
Dafür müsstest Du ein Script schreiben, welches die Dateien listet und gleichzeitig Links daraus macht...
DollHaus - 28.11.2003, 19:41
Titel:
also erstmal dankeschön für deine mühen*
hat ja soweit alles geklappt*
ich bin neuling auf diesem gebiet, was den apache und php betrifft*
alles andere (netzwerktechnik etc) bin ich einigermassen fit*

wenn du mir so ein script besorgen könntest wäre ich dir dankbar ohne ende*
ich möchte nämlich nicht so eine download seite haben wie ihr das hier gemacht habt*
ich müsste für JEDEN download extra eine verlinkung machen und das ist nicht grad sinn der sache*

kannst du mir nen tipp geben?

meinst du ich krieg das bis zu WE geregelt?
Webmaster - 28.11.2003, 21:45
Titel: RE...
Sodele...

hier mal ein einfaches PHP-Script:
 Code:

<html>
<head>
   <title>Downloads</title>
</head>

<body bgcolor="#000000">

<table align="center" width="90%" cellpadding="3" cellspacing="2"  border="0">
   <tr>
      <td align="center">

<?php

// Verzeichnis in dem die Dateien liegen (relative Pfadangabe zum Script, mit "/" am Ende!)
$download_folder = "./downloads/";

// in das o.g. Verzeichnis wechseln
chdir($download_folder);

$folder = opendir('.');

while( $files = readdir($folder) )
{
   //$total_files = count($bilder); 
   
   if( $files != "." && $files != ".." && !is_dir($files) )
   {
      //$downloads .= "$file\n";
      //$total_files = count($files);
      $total_files = array($files);
      
      reset($total_files);
      
      echo "<table align=\"center\" width=\"100%\" cellpadding=\"5\" cellspacing=\"3\" border=\"0\">";
      echo "<tr>";
      
      while ( list($key, $downloads) = each($total_files) )
      {
         // Download-Pfad
         $filename = "$downloads <br>";
         $path = $download_folder . $downloads;
         
         echo "<td align=\"left\">";
         echo "<a style=\"color: #999999\"; href=\"$path\">$filename</a>";
         echo "</td>";
         echo "</tr>";
         echo "</table>";
      }
   }
}

closedir($folder);

chdir("../");

?>

   </tr>
</table>

</body>

</html>


Speichere diesen Code als download.php ab (darf nicht in dem Ordner liegen, wo auch die Dateien zum Downloaden liegen), und verlinke darauf im Forum...

Das Design musst Du natürlich anpassen.
Alle Zeiten sind GMT + 1 Stunde
Design and Modifications (additional scripting and bug fixes) by TL Networks
Template-Version 2.1.0 © 2002 TL Networks

based on phpBB