Passwortschutz von bestimmten Seiten und Dateien mit einmalieger Passworteingabe ohne Benutzerkonten
am 29.01.2014 - 11:37 Uhr in
Hallo zusammen,
ich habe folgendes Problem:
Ich muss einen Weg finden, bestimmte Seiten (und die darauf liegenden Dateien) Passwort zu schützen (Pro Seite ein anderes Passwort) dies soll aus verschiedenen Gründen ohne die Nutzung von Benutzerkonten geschehen (Die Dateien sollen auch Passwortgeschützt sein, wenn man die direkte URL verwendet).
Momentane Lösung:
Momentan habe ich das gelöst, indem ich eine Kombination aus dem Modul "Protected Node" https://drupal.org/project/protected_node und .htaccess Dateien (für den sicheren Passwortschutz der Dateien über die direkte URL) genutzt habe. Das Problem besteht nun darin, das besagtes Passwort 2 x eingetragen werden muss, beim Einloggen auf die Seite und beim Downloaden der eigentlichen Datei.
Frage:
Gibt es nun eine Möglichkeit das Passwort oder einen True Wert zu übergeben? Ich stelle mir so eine Art IF Abfrage vor in Richtung (sinngemäß) "If protected-node-login =true then dont ask for password" kann man das so realisieren?
Oder gibt es eine andere Möglichkeit die besagten Funktionen die ich oben genannt habe zu realisieren? Z.B. indem ich pro Seite einen Nutzer anlege, in dem ich das Passwort hinterlege, diese Nutzer kann dann von Authorisierten Personen genutzt werden. Könnte dieser Account gleichzeitig von mehrere Nutzern gentutz werden? (Es ist aus Gründen der großen Teilnehmer Zahl nicht möglich für jeden einen Account zu erstellen).
Ich hoffe das jemand eine Idee hat, ich bin auch für andere Lösungvorschläge offen, die die oben genannten kriterien erfüllen.
Danke schonmal im voraus.
MfG
Twinhand
- Anmelden oder Registrieren um Kommentare zu schreiben
hi twinhand das du das
am 30.01.2014 - 15:53 Uhr
hi twinhand
das du das passowrt 2x eingeben muss ist klar
weil du hast das modul node protect und
htpwd nutzt
ichwürde das per php machen
http://stackoverflow.com/questions/3166792/password-protected-directory-...
dazu musst du aber ein eigenens modul bauen
und den pfad abfangen mit hook_menu
um dich dann da in deine seite "einzuhängen"
hier mal eben auf die schnelle ausm kopf
ungetestet als richtung
<?php
function deineModul_menu() {
$items['geheimerContent/%'] = array(
'title' => 'Passort geischerte GeheimnissDateien',
'page callback' => 'mach_was_tolles',
'page arguments' => array(1),
'type' => MENU_LOCAL_TASK,
);
return $items;
}
function mach_was_tolles() {
// hier jetzt php htaccess actions
}
?>
viel erfolg
stef
Hi, danke schonmal für die
am 31.01.2014 - 11:39 Uhr
Hi, danke schonmal für die schnelle Antwort und dein Beispiel. :)
Mein PHP ist leider nicht das Beste :/ könntest du mir noch ein paar Beschreibungen geben?
Und zwar :/ muss ich den hook zu jeder Seite neu auslesen, oder kann ich diesen womöglich auf Contenttypen beschränken?
Was meinst du mit "php htaccess actions" . Sollen dort die die Inhalte der htaccess eingetragen werden oder eine Funktion die Inhalte der .htaccess nutzt?
Könntest du mir womöglich genauer Erklären wa ich tun muss bzw. wie es funktioniert?
(Der Code in der StackoverflowSeite hat in meiner index.php dafür gesorgt das die Seite nichtsmehr ausgibt)
Danke schonmal im voraus.
MfG
Twinhand
Deine Problembeschreibung ist
am 31.01.2014 - 12:41 Uhr
Deine Problembeschreibung ist etwas unklar.
Ich vermute, Du meinst mit (und die darauf liegenden Dateien) Dateien welche an eine Node angehangen sind.
soll aus verschiedenen Gründen ohne die Nutzung von Benutzerkonten geschehen
Protected Node functioniert auch mit Gastbesuchern - also ohne Benutzerkonto.
UND - Es ist keinerlei .htaccess dazu notwendig.
(Die Dateien sollen auch Passwortgeschützt sein, wenn man die direkte URL verwendet)
Wie bereits gesagt - keine eindeutige Problembeschreibung.
Da geht noch was.
Ok, ich versuche es genauer
am 31.01.2014 - 15:00 Uhr
Ok, ich versuche es genauer zu beschreiben. Die Dateien liegen direktin einem Drupal Unterverzeichnis names Protected-Files (Dieses ist ist weitere Untervezeichnisse gegliedert). Die Dateien die an die Protected Node angehangen werden würden, wären dann geschützt. Das Problem daran ist aber, wenn eine unauthorisierte Person den direkten Pfad zu der Datei kennt (nicht über die protected Node sondern über die direkte Url: /sites/default/files/protected-files/Dokument.pdf. Dann kann diese Person die Datei direkt herunterladen und das soll verhindert werden.
Hier nochmal das Ziel das erreich werden soll:
Die Struktur des geplanten Seitenteils ist folgende:
-Es gibt verschiedene Events
-Besagte Events haben Informationen und Dateien die nicht für jeden zugänglich sein sollen.
-Die Anzahl der Teilnehmer ist zu groß, als das Accounts für alle Teilnehmer angelegt werden könnten.
-Die internen Inhalte des Events sollen auf der Haupteventseite verlinkt werden und mittels korrekten Passwort zugänglich sein.
-Die Dateien der jeweiligen Events sollen in eigenen Ordnen liegen und mit unterschiedlichen Passwörtern geschützt sein (pro Event)
-Die Dateien sollen auch dann geschützt sein, wenn die besagte Person die direkte URL zur Datei kennt.
MfG
Twinhand
Wie
am 31.01.2014 - 18:02 Uhr
Wie bekommt der Nutzer das Passwort? Und wenn es zu viele sind, um registriert zu werden, ist es dann immer das gleiche Passwort?
Oder reicht eine authentifizierte Anmeldung?
Dann wäre das ein Schritt: https://drupal.org/project/webform_protected_downloads
Dateiverschlüsselung: https://drupal.org/project/encrypted_files
Um es zu erschweren
am 31.01.2014 - 23:09 Uhr
Um es zu erschweren Dateinamen zu erraten um sie direkt anzusprechen kann man den Namen hochgeladener Dateien (Tokenmodul) mit zufällig generierten Namen umbenennen.
Da geht noch was.
Hallo, entschuldigt die späte
am 18.02.2014 - 10:29 Uhr
Hallo, entschuldigt die späte Antwort. Der Nutzer bekommt das Passwort analog. Es gibt Treffen in dehnen die Passwörter der besagten Veranstaltungen an die Nutzer abgegeben werden. Es sollten pro Veranstaltungen ein anderen Passwort sein.
@ quiptime Laut meinem Cheff, ist das keine Option, die Dateien/ Seiten müssen wie oben beschrieben, abgesichert sein, selbst wenn jemand den Pfad kennt.
In Kurzform ist das Ziel schlicht und ergreifend, ein Passwortschutz für nodes und Dateien zu erstellen. Die Dateien sollen auf der geschützen Seite verlinkt sein. Und die Dateien sollen geschützt sein, wenn eine Person die direkte URL kennt. Das konkrete Problem ist, das ich mit dem oben genannten Lösung die Passwörtes 2 mal eingeben muss ( einmal wegen protected nodes und 1x wegender htaccess. Das soll aber nicht sein. Falls ich das Passwort für die geschützte Node bereits eingegeben habe, soll ich nicht erneut das Passwort zum Dateidownload eingeben müssen, ich suche eine Lösung die diese Kriterien erfüllt. Useraccounts dürfen leider nicht benutzt werden, da man sonst gut 200 Accounts pro Veranstaltung anlegen müsste. Wenn es eine Art Gruppen Account gäbe, sprich einen Account der von mehrere gleichzeitig benutzt und in der ein einzelner Nutzer des Gruppen-Accounts unabhänig von anderen Nutzern in diesem Gruppen-Account aggieren kann, könnte man womöglich darüber sprechen.
Hat irgendjemand eine Idee wie man dieses Problem Lösen könnte?
(Ich habe auch nicht gegen eine eigenprogrammierte Lösung, aber da meine PHP nicht gerade das stärkste ist, würde ich um gute Erläuterung bitten, falls es um ein Skript geht)
MfG
Twinhand
irgendwo
am 18.02.2014 - 11:21 Uhr
müssen die Interesenten erfasst und verwaltet werden.
Warum nicht als User einer Gruppe/Rolle?
Es gibt die einfache Methode über private Verzeichnisse und Rollen, die etwas komplexere Verwaltung über Gruppen (OG), oder die Möglichkeit selbst ein Modul zu schreiben.
Ansonsten ist die einfachste Methode, die ich dann allerdings auf eine andere Domain setzen würde, die manuelle Pflege der Listen in .htaccess Dateien.
Grüße
Ronald
Zitat: die manuelle Pflege
am 18.02.2014 - 11:32 Uhr
die manuelle Pflege der Listen in .htaccess Dateien.
genau, die könnten ja auch dynamisch per php angelegt werden und somit auch aus einem
modul heraus, schön mit gui und so
aber das ganze ist so ein spezialfall wo es keine einfache lösung gibt
(klick hier klick da)
und wenn keine php kenntnisse vorhanden sind:
hilft nur das beauftragen von leuten die das können,
zumal es hier ja auch funktionieren muss, und nicht
mit ein paar umwegen ausgeschaltet werden darf
weil grundsätzliche fehler gemacht wurden
wenn diese Dateien so heilig sind
am 18.02.2014 - 13:20 Uhr
dann dürften sie nicht im webspace liegen, und nur von einer PHP-Funktion ausgeliefert werden können.
Dies könnte ein Modul schon tun.
Die Zugriffsverwaltung müsste aber dennoch über eine Datenbank geführt werden.
Wenn Drupal eh' im Einsatz ist, ist die beste Lösung immer die Userverwaltung von Drupal.
Ohne Programmierkenntnisse ist das allerdings nicht zu machen.
Eine Fremdprogrammierung dürfte im 4-Stelligen Bereich liegen.
Grüße
Ronald
Hallo, danke für die
am 18.02.2014 - 13:29 Uhr
Hallo, danke für die Antworten.
@ronald Nein die besagten Teilnehmer müssen nicht erfasst werden.
Es soll umgefähr so funktionieren:
Projekt A:
Name: Projekt A
Passwort: DasisteinPasswort
Projekt B;
Name: Projekt B
Passwort: DasisteinanderesPasswort
Die Daten, sollen den beteiligten Personen "analog" übereicht werden, sprich bei einem Treffen mit den bestimmten Personen.
Die Nutzeraccounts sollen aufgrund des Aufwandes nicht angelegt werden (midnestes 200 Mitgleider pro Projekt) Und in der Regel 6-7 Projekte im Jahr.
Die .htaccess Dateien zu verwalten, ist das kleinere Problem, es müsste nur möglich sein, auch Drupal interne Nodes zu schützen, z.B.
Schütze Ordner sowie
Schütze Node sowieso
mit Passwort testbla
Die Accountverwaltung in Verbindung mit anderen Modulen, wäre dann zu Nutzen, wenn es die Möglichkeit gäbe einen Account ( für die 200 Leute eines Projektes) zu erstellen, diesen sätmlich Rechte außér dem Zugriff auf die besagten Dateien und der Gastrechte zu entziehen und ihn gleichzeitig mehrfach zu benutzten.
MfG
Twinhand
/ADD es scheint komischerweise in Ordnung zu sein, das die Dateien im Webspace liegen, solange die oben genannten kriterien erfüllt sind.
Idee!
am 18.02.2014 - 14:36 Uhr
mit der du innerhalb Drupal bleibst, und sogar noch zusätzliche Vorteile generierst:
Du legst je Veranstaltung einen Veranstaltungsuser mit einem entsprechenden Passwort an.
Dieser User bekommt Zugriff auf die Veranstaltungsdokumente, und sonst - kannst du selbst entscheiden.
Meldet sich ein neuer User an, muss er in seinem Anmeldeprofil angeben, über welche Veranstaltung er geworben wurde (also den Veranstaltungsuser nennen).
Damit bekommst du eine Statistik der gewonnenen Kunden/Partner oder was immer das ist.
Nach einer gewissen Zeit, kannst du die Veranstaltungsuser wieder entfernen.
Da mehrere den Veranstaltungsuser verwenden können, hast du zwar keine Kontrolle, wieviele die Dateien geholt haben, und wer sie nicht geholt hat, aber das war ja auch nicht gewünscht.
Grüße
Ronald
Das klingt prinzipiell nach
am 18.02.2014 - 15:14 Uhr
Das klingt prinzipiell nach einer tollen Idee, aber das beinhaltet leider wieder mehrere Accounts und besagte Accounts sollen auf keinen Fall von den Teilnehmern selbst angelegt werden:/
Oder verstehe ich nur falsch ? "Meldet sich ein neuer User an, muss er in seinem Anmeldeprofil angeben, über welche Veranstaltung er geworben wurde (also den Veranstaltungsuser nennen)." Wo meldet der sich an? Ist damit eine Accounterstellung gemeint, oder meinst du direkt eine Anmeldung bei einer bestimmten Abfrage.
Wie würde ich deine oben genannte Lösung realisieren?
MfG
Twinhand
Rein zum Verständnis:
Nehmen wir an der Betrieb ist eine Schule und es gibt verschiedene Klassen und Jahrgänge, die Klassen und Jahrgänge bekommen Zugriff zu besagten Dateien der Klassen und Jahrgänge. Die Dateien die darin liegen dienen dem schulischen Zweck. Es gibt somit viele Leute die Zugriff auf bestimmte Dateien haben, ob sie wollen oder nicht.^^
das kann ja der Siteadmin entscheiden
am 18.02.2014 - 15:28 Uhr
Der Siteadmin kann auch Rollen zuweisen.
Und wenn du OG einführst, was allerdings nicht ganz trivial ist, lässt sich das noch weiter granularisieren.
Man kann eine Anmeldung auch als "Anfrage" die von einem Admin bestätigt werden muss konfigurieren, oder eben komplett durch den Admin angelegt.
In der Hinsicht kannst du dich austoben.
Zunächst sind es nur die Veranstaltungsgruppen, die der Admin als User anlegt, und deren Dokumentenzuweisung er vornimmt.
Mit dem Zusatz, dass User angeben, wo sie her kommen, hast du ein gewisses Feedback, wie erfolgreich eine Veranstaltung war, und wie überzeugend die Unterlagen sind.
Denn Zugriff auf die Unterlagen erhält er ja bereits durch Anmeldung als Gruppenuser.
Grüße
Ronald
das ist sicher ein interessantes Projekt
am 18.02.2014 - 16:10 Uhr
Aber je komplexer es wird, desto wichtiger ist, dass die Strukturen klar bleiben.
Also ganz klar - alles Drupalkonform bleibt.
Ansonsten wird die Verwaltung anstrengend.
Bei einer Schule kann man sicher überlegen, ob jeder Schule (ab einer gewissen Stufe) einen eigenen Account bekommen sollte.
Drupal ist egal, ob es ein paar, ein paar hundert oder tausende User hat.
Performance fressen nur die gleichzeitigen User.
Bei solchen Strukturen ist es vielleicht auch sinnvoll, sich zumindest mit OG zu beschäftigen.
Damit kann man teilweise Administration in die Strukturen delegieren.
Grüße
Ronald
Ahh, ich verstehe wie du es
am 18.02.2014 - 16:10 Uhr
Ahh, ich verstehe wie du es meinst, aber ich befürchte das dieser Mehraufwand ebenfalls dazu führt, dass dieser Lösungsvorschlag abgelehnt wird:/ Es gibt nämlich keinen speziellen Webentwickler/Administrator für die Webseite, das wird von den Leuten nebenbei gemacht:/
Andere Idee, kann ich das Drupal Theme, auch irgendwie für andere Ordner Anwenden oder muss ich dieses neu schreiben? Die einfachste Idee, die mir kommt, ist nämlich die Seite die ebenfalls geschützt werden muss in den Ordner mit den geschützten Dateien der Veranstaltung zu geben und die Authentifizierung dann von der .htaccess regeln zu lassen.
Mir wurde noch vorgeschlagen,das Passwort von protected-nodes aus dem Cache auszulesen, und falls dieses bereits einegegeben wurde. Ich bin mir aber nicht sicher ob das möglich ist, mit welchem Aufwand.
MfG Twinhand
Das kommt davon wenn man in der Schule VBA hatte, PHP wäre wesentlich besser gewesen. -.-
Hier kann es sinnvoll sein
am 19.02.2014 - 08:33 Uhr
das gesamte Projekt nochmals zu analysieren.
Drupal kann zwar fast zur eierlegenden Wollmilsau werden, was aber nicht immer sinnvoll ist.
Welche Umgebung liegt denn vor? LINUX/WINDOWS, Intranet, IIS, Apache ...
Wie sollen die Zugriffe erfolgen? Aus dem LAN, aus dem Internet, über Einwahl (VPN) ...
Wer wird das betreuen, und mit welchem Wissen und welchen Kapazitäten? Ein Lehrer mit Grundkenntnissen Netzwerke, VBA und VBS, .NET ... ?
Ist dies eine geschlossene Umgebung, oder ist ein öffentlicher Zugriff über das Internet erforderlich/erwünscht? Gibt es public User, unbekannte Gäste, wo werden diese verwaltet?
Inwieweit ist bereits heute Drupal involviert? Ist heute schon eine Drupalversion in irgendeiner Form im produktiven Einsatz?
Grüße
Ronald
Also das Projekt ist nahezu
am 19.02.2014 - 10:12 Uhr
Also das Projekt ist nahezu fertig gestellt, und benötigt nurnoch 2 Funktionen (wobei eine Funktion, die ist, die ich bereits erläutert habe).
Das mit der Schule war nur ein Sinnbild, es ist die Webseite einer Forschungsgruppe, die auch die Inhalte ihrer Vorlesungen auf der Seite anbieten will (diese sind wie oben beschrieben geheim).
Die Umgebung auf der die Seite liegen soll, ist eine Linux Ubuntu Server Umgebung (momentan noch 10.04) die Testumgebung in der das Projekt erstellt wird, ist Ubuntu 13.04 Desktop.
Der Zugriff erfolgt momentan Lokal, soll aber beim fertigen Projekt aus dem Internet (Webserver) erfolgen. Der genutzt Webserver ist Apache 2.
Die Person die das Projekt nach der Fertigstellung betreuen soll (nicht ich) hat meines wissens nach einen sehr breit gefächertes Wissen im Informationstechnischen Bereich, jedoch keine bzw. wenig Vorkenntnisse mit Drupal und sehr wenig Zeit.
Die Nutzer werden von der Drupal Nutzerverwaltung, verwaltet, dies schließt nicht die Studenten ein, die an den Veranstaltungen teilnehmen (wie oben beschrieben, nicht gewünscht).
Drupal stellt bereits die komplette Webseite mit eigens angepassten Themes, automatischer Einordnung von Inhalten auf bestimmten Seiten etc. Public User sprich Gäste, sollen alle die sein, die nicht fest in der Forschungsgruppe eingestellt sind.
Ich hoffe das schafft einen kleinen Überblick, solltet ihr genauere Informationen benötigen, lasst es mich wissen.
MfG
Twinhand
Politisch
am 19.02.2014 - 10:40 Uhr
es ist eine politische Entscheidung, ob man je Kurs/Seminar, oder wie man es nennen möchte, einen Sammeluser anlegt, und diesem die Dokumente zuordnet, oder ein System außerhalb Drupals dafür pflegt.
Grüße
Ronald
Würde es denn funktionieren,
am 19.02.2014 - 11:15 Uhr
Würde es denn funktionieren, dass ein Sammeluser pro Veranstaltung genutzt wird? Sprich könnten z.B. 50 oder 100 Leute auf verschiedenen Rechnern gleichzeitig besagten Account Nutzen und unterschiedliche Dinge tun, ohne sich gegenseitig zu beeinflussen?