Coppermine Aufruf mit integrierter Zugriffssicherheit Coppermine Aufruf mit integrierter Zugriffssicherheit
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

Coppermine Aufruf mit integrierter Zugriffssicherheit

Started by kris64, December 30, 2007, 11:56:58 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

kris64

HellO!
Ich verwende eine Coppermine Gallerie für verschiedene Bereiche (Private, Büro etc) Die neuen Galerien sollen nur für bestimmte Gruppen zur Verfügung stehen. Dazu verwende ich die Gruppenberechtigungen. Die meisten Besucher sind entweder ältere Personen oder Menschen mit nahezu null Internet/EDV Verständnis - Juristen eben.
Daher meine Frage:
gibt es eine Möglichkeit, einem Personenkreis einen bestimmten URL mit integrierter Anmeldung zu schicken?  (z.B: http://coppermine.at/login.php?username,pwd)?

Danke und liebe Grüße

Christian

Joachim Müller

Nein, so etwas gibt es nicht - das wäre in Sachen Sicherheit auch der Offenbahrungseid. Aber was Du machen kannst ist, die Benutzer an der Hand zu nehmen und für sie die Registrierung zu erledigen (hattest Du ja schon im Sinn). Dann modifiziert Du login.php und füllst die Eingabefelder für Benutzername und Passwort mit den per URL übergebenen Parameter von u und p, ungefähr so:
Bearbeite login.php, suchestarttable('-1', $lang_login_php['enter_login_pswd'], 2);
echo <<< EOT
                  $login_failed
                  $cookie_warning
                  <tr>
                        <td class="tableb" width="40%">{$lang_login_php['username']}</td>
                        <td class="tableb" width="60%"><input type="text" class="textinput" name="username" style="width: 100%" tabindex="1" /></td>
                  </tr>
                  <tr>
                          <td class="tableb">{$lang_login_php['password']}</td>
                        <td class="tableb"><input type="password" class="textinput" name="password" style="width: 100%" tabindex="2" /></td>
                  </tr>
                  <tr>
                    <td colspan="2" align="center" class="tableb">{$lang_login_php['remember_me']} <input name="remember_me" type="checkbox" class="checkbox" value="1" tabindex="3" /></td>
                  </tr>
                  <tr>
                    <td align="center" class="tablef"><a href="forgot_passwd.php" class="topmenu">{$lang_login_php['forgot_password_link']}</a></td>
                    <td align="left" class="tablef"><input name="submitted" type="submit" class="button" value="{$lang_login_php['login']}" tabindex="4" /></td>
                  </tr>

EOT;

endtable();
und ersetze mitstarttable('-1', $lang_login_php['enter_login_pswd'], 2);
echo <<< EOT
                  $login_failed
                  $cookie_warning
                  <tr>
                        <td class="tableb" width="40%">{$lang_login_php['username']}</td>
                        <td class="tableb" width="60%"><input type="text" class="textinput" name="username" style="width: 100%" tabindex="1" value="{$_GET['u']}" /></td>
                  </tr>
                  <tr>
                          <td class="tableb">{$lang_login_php['password']}</td>
                        <td class="tableb"><input type="password" class="textinput" name="password" style="width: 100%" tabindex="2" value="{$_GET['p']}" /></td>
                  </tr>
                  <tr>
                    <td colspan="2" align="center" class="tableb">{$lang_login_php['remember_me']} <input name="remember_me" type="checkbox" class="checkbox" value="1" tabindex="3" checked="checked" /></td>
                  </tr>
                  <tr>
                    <td align="center" class="tablef"><a href="forgot_passwd.php" class="topmenu">{$lang_login_php['forgot_password_link']}</a></td>
                    <td align="left" class="tablef"><input name="submitted" type="submit" class="button" value="{$lang_login_php['login']}" tabindex="4" /></td>
                  </tr>

EOT;

endtable();
Erzeuge dann Links in den eMails nach dem Schema http://deine_seite.tld/dein_coppermine_verzeichnis/login.php?u=benutzername&p=passwort
Ist aber wie gesagt vom Standpunkt der Sicherheit mehr als Banane. Außerdem, wenn die Zielgruppe tatsächlich so unbeleckt ist, wie Du sagst, dann prophezeihe ich Dir mal, was passieren wird: die werden bei ihrem zweiten Besuch auf der Seite wieder auf den präparierten Login-Link in der eMail klicken (weil Sie nicht in der Lage sind, einen Favoriten zu speichern) und werden dann eine Fehlermeldung erhalten (nämlich, dass sie schon angemeldet sind). Wie man es dreht und wendet: es bleibt schwierig... ;D

kris64

Oh, danke!
Ist nicht ganz so, wie ich es dachte, aber mit dem Hinweis auf die entstehende Sicherheitslücke hab ich Deinen Vorschlag gerne übernommen.
Die "remember me" Variable hab ich nicht auf default yes gesetzt. Das spart mir den Fehler mit der doppelten Anmeldung.
Vielleicht schick ich für die DAUS gleich eine Verknüpfung auf den Desktop ihrer Maschinen. Das sollte reichen.

Danke jedenfalls und einen guten Rutsch

Christian