Browse code

Change license from CC0 to 0BSD, all contributors agreed

Hanno Böck authored on 20/08/2022 09:22:23
Showing 1 changed files
... ...
@@ -2,14 +2,11 @@
2 2
 /*
3 3
 This file belongs to the Webinterface of schokokeks.org Hosting
4 4
 
5
-Written 2008-2018 by schokokeks.org Hosting, namely
5
+Written by schokokeks.org Hosting, namely
6 6
   Bernd Wurst <bernd@schokokeks.org>
7 7
   Hanno Böck <hanno@schokokeks.org>
8 8
 
9
-To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.
10
-
11
-You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see
12
-http://creativecommons.org/publicdomain/zero/1.0/
9
+This code is published under a 0BSD license.
13 10
 
14 11
 Nevertheless, in case you use a significant part of this code, we ask (but not require, see the license) that you keep the authors' names in place and return your changes to the public. We would be especially happy if you tell us what you're going to do with this code.
15 12
 */
Browse code

Codingstyle PSR12 + array syntax

Hanno Böck authored on 30/10/2021 21:18:17
Showing 1 changed files
... ...
@@ -17,7 +17,7 @@ Nevertheless, in case you use a significant part of this code, we ask (but not r
17 17
 require_once('inc/base.php');
18 18
 require_once('x509.php');
19 19
 
20
-require_role(array(ROLE_SYSTEMUSER, ROLE_SUBUSER, ROLE_VMAIL_ACCOUNT));
20
+require_role([ROLE_SYSTEMUSER, ROLE_SUBUSER, ROLE_VMAIL_ACCOUNT]);
21 21
 
22 22
 title('Anmeldung über Client-Zertifikat');
23 23
 output('<p>Sie können Sie an diesem Webinterface wahlweise auch über ein SSL-Client-Zertifikat anmelden. Dazu muss das gewünschte Zertifikat <em>vorher</em> in Ihrem Browser installiert werden und kann dann hier hinzugefügt werden.</p>
Browse code

Umstellung von filter_input_general() auf filter_output_html()

Bernd Wurst authored on 21/09/2019 17:07:48
Showing 1 changed files
... ...
@@ -48,10 +48,10 @@ if (isset($_SESSION['clientcert_cert'])) {
48 48
     global $menu;
49 49
     output('<div style="margin: 1em; padding: 1em; border: 2px solid green;">');
50 50
     output('<p>Es wurde folgendes Client-Zertifikat von Ihrem Browser gesendet:</p>
51
-<div style="margin-left: 2em;"><strong>DN:</strong> '.filter_input_general($_SESSION['clientcert_dn']).'<br />
52
-<strong>Aussteller-DN:</strong> '.filter_input_general($_SESSION['clientcert_issuer']).'<br />
53
-<strong>Seriennummer:</strong> '.filter_input_general($_SESSION['clientcert_serial']).'<br />
54
-<strong>Gültigkeit:</strong> '.filter_input_general($_SESSION['clientcert_valid_from']).' bis '.filter_input_general($_SESSION['clientcert_valid_until']).'</div>
51
+<div style="margin-left: 2em;"><strong>DN:</strong> '.filter_output_html($_SESSION['clientcert_dn']).'<br />
52
+<strong>Aussteller-DN:</strong> '.filter_output_html($_SESSION['clientcert_issuer']).'<br />
53
+<strong>Seriennummer:</strong> '.filter_output_html($_SESSION['clientcert_serial']).'<br />
54
+<strong>Gültigkeit:</strong> '.filter_output_html($_SESSION['clientcert_valid_from']).' bis '.filter_output_html($_SESSION['clientcert_valid_until']).'</div>
55 55
 <p>Soll dieses Zertifikat für den Zugang für <strong>'.$username.'</strong> verwendet werden?</p>');
56 56
     output(html_form('clientcert_add', 'certsave.php', 'action=new', '<p><input type="submit" name="submit" value="Ja, dieses Zertifikat einrichten" /> &#160; '.internal_link('cert', 'Nein', 'clear').'</p>'));
57 57
     output('</div>');
... ...
@@ -64,8 +64,8 @@ if ($certs != null) {
64 64
     output('<p>Sie haben bereits Zertifikate für den Zugang eingerichtet.</p>
65 65
   <ul>');
66 66
     foreach ($certs as $cert) {
67
-        output('<li>'.filter_input_general($cert['dn'].' / Seriennummer '.$cert['serial'].' / '.'Gültig von '.$cert['valid_from'].' bis '.$cert['valid_until']).'<br />');
68
-        output('<em>ausgestellt von </em>'.filter_input_general($cert['issuer']));
67
+        output('<li>'.filter_output_html($cert['dn'].' / Seriennummer '.$cert['serial'].' / '.'Gültig von '.$cert['valid_from'].' bis '.$cert['valid_until']).'<br />');
68
+        output('<em>ausgestellt von </em>'.filter_output_html($cert['issuer']));
69 69
         output('<br />'.internal_link('certsave', 'Dieses Zertifikat löschen', 'action=delete&id='.$cert['id']));
70 70
         output('</li>');
71 71
     }
Browse code

Fix XSS Clientcert

Hanno authored on 25/01/2019 09:53:37
Showing 1 changed files
... ...
@@ -64,7 +64,8 @@ if ($certs != null) {
64 64
     output('<p>Sie haben bereits Zertifikate für den Zugang eingerichtet.</p>
65 65
   <ul>');
66 66
     foreach ($certs as $cert) {
67
-        output('<li>'.$cert['dn'].' / Seriennummer '.$cert['serial'].' / '.'Gültig von '.$cert['valid_from'].' bis '.$cert['valid_until'].'<br /><em>ausgestellt von </em>'.$cert['issuer']);
67
+        output('<li>'.filter_input_general($cert['dn'].' / Seriennummer '.$cert['serial'].' / '.'Gültig von '.$cert['valid_from'].' bis '.$cert['valid_until']).'<br />');
68
+        output('<em>ausgestellt von </em>'.filter_input_general($cert['issuer']));
68 69
         output('<br />'.internal_link('certsave', 'Dieses Zertifikat löschen', 'action=delete&id='.$cert['id']));
69 70
         output('</li>');
70 71
     }
Browse code

Fix coding style with php-cs-checker, see https://cs.sensiolabs.org/

Hanno authored on 26/06/2018 13:58:19
Showing 1 changed files
... ...
@@ -8,7 +8,7 @@ Written 2008-2018 by schokokeks.org Hosting, namely
8 8
 
9 9
 To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.
10 10
 
11
-You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see 
11
+You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see
12 12
 http://creativecommons.org/publicdomain/zero/1.0/
13 13
 
14 14
 Nevertheless, in case you use a significant part of this code, we ask (but not require, see the license) that you keep the authors' names in place and return your changes to the public. We would be especially happy if you tell us what you're going to do with this code.
... ...
@@ -26,60 +26,53 @@ output('<p>Sie können Sie an diesem Webinterface wahlweise auch über ein SSL-C
26 26
 
27 27
 
28 28
 
29
-if (isset($_GET['clear']))
30
-{
31
-  unset($_SESSION['clientcert_cert']);
32
-  unset($_SESSION['clientcert_dn']);
33
-  unset($_SESSION['clientcert_issuer']);
34
-  unset($_SESSION['clientcert_serial']);
29
+if (isset($_GET['clear'])) {
30
+    unset($_SESSION['clientcert_cert']);
31
+    unset($_SESSION['clientcert_dn']);
32
+    unset($_SESSION['clientcert_issuer']);
33
+    unset($_SESSION['clientcert_serial']);
35 34
 }
36 35
 
37
-$username = NULL;
36
+$username = null;
38 37
 if ($_SESSION['role'] & ROLE_SYSTEMUSER) {
39
-  $username = $_SESSION['userinfo']['username'];
40
-  if (isset($_SESSION['subuser'])) {
41
-    $username = $_SESSION['subuser'];
42
-  }
38
+    $username = $_SESSION['userinfo']['username'];
39
+    if (isset($_SESSION['subuser'])) {
40
+        $username = $_SESSION['subuser'];
41
+    }
43 42
 } elseif ($_SESSION['role'] & ROLE_VMAIL_ACCOUNT) {
44
-  $username = $_SESSION['mailaccount'];
43
+    $username = $_SESSION['mailaccount'];
45 44
 }
46 45
 
47
-if (isset($_SESSION['clientcert_cert']))
48
-{
49
-  // FIXME: Es gibt keine Duplikaterkennung.
50
-  global $menu;
51
-  output('<div style="margin: 1em; padding: 1em; border: 2px solid green;">');
52
-  output('<p>Es wurde folgendes Client-Zertifikat von Ihrem Browser gesendet:</p>
46
+if (isset($_SESSION['clientcert_cert'])) {
47
+    // FIXME: Es gibt keine Duplikaterkennung.
48
+    global $menu;
49
+    output('<div style="margin: 1em; padding: 1em; border: 2px solid green;">');
50
+    output('<p>Es wurde folgendes Client-Zertifikat von Ihrem Browser gesendet:</p>
53 51
 <div style="margin-left: 2em;"><strong>DN:</strong> '.filter_input_general($_SESSION['clientcert_dn']).'<br />
54 52
 <strong>Aussteller-DN:</strong> '.filter_input_general($_SESSION['clientcert_issuer']).'<br />
55 53
 <strong>Seriennummer:</strong> '.filter_input_general($_SESSION['clientcert_serial']).'<br />
56 54
 <strong>Gültigkeit:</strong> '.filter_input_general($_SESSION['clientcert_valid_from']).' bis '.filter_input_general($_SESSION['clientcert_valid_until']).'</div>
57 55
 <p>Soll dieses Zertifikat für den Zugang für <strong>'.$username.'</strong> verwendet werden?</p>');
58
-  output(html_form('clientcert_add', 'certsave.php', 'action=new', '<p><input type="submit" name="submit" value="Ja, dieses Zertifikat einrichten" /> &#160; '.internal_link('cert', 'Nein', 'clear').'</p>'));
59
-  output('</div>');
56
+    output(html_form('clientcert_add', 'certsave.php', 'action=new', '<p><input type="submit" name="submit" value="Ja, dieses Zertifikat einrichten" /> &#160; '.internal_link('cert', 'Nein', 'clear').'</p>'));
57
+    output('</div>');
60 58
 }
61 59
 
62 60
 
63 61
 DEBUG($username);
64 62
 $certs = get_certs_by_username($username);
65
-if ($certs != NULL) {
66
-  output('<p>Sie haben bereits Zertifikate für den Zugang eingerichtet.</p>
63
+if ($certs != null) {
64
+    output('<p>Sie haben bereits Zertifikate für den Zugang eingerichtet.</p>
67 65
   <ul>');
68
-  foreach ($certs AS $cert) {
69
-   	output('<li>'.$cert['dn'].' / Seriennummer '.$cert['serial'].' / '.'Gültig von '.$cert['valid_from'].' bis '.$cert['valid_until'].'<br /><em>ausgestellt von </em>'.$cert['issuer']);
70
-    output('<br />'.internal_link('certsave', 'Dieses Zertifikat löschen', 'action=delete&id='.$cert['id']));
71
-    output('</li>');
72
-  }
73
-  output('</ul>');
74
-}
75
-else
76
-{
77
-  output('<p><em>Bisher sind keine Zertifikate für Ihren Zugang eingerichtet</em></p>');
66
+    foreach ($certs as $cert) {
67
+        output('<li>'.$cert['dn'].' / Seriennummer '.$cert['serial'].' / '.'Gültig von '.$cert['valid_from'].' bis '.$cert['valid_until'].'<br /><em>ausgestellt von </em>'.$cert['issuer']);
68
+        output('<br />'.internal_link('certsave', 'Dieses Zertifikat löschen', 'action=delete&id='.$cert['id']));
69
+        output('</li>');
70
+    }
71
+    output('</ul>');
72
+} else {
73
+    output('<p><em>Bisher sind keine Zertifikate für Ihren Zugang eingerichtet</em></p>');
78 74
 }
79 75
 
80 76
 $backurl = 'go/index/cert';
81 77
 
82 78
 addnew('../../certlogin/index.php', 'Neues Client-Zertifikat hinzufügen', 'record&backto='.$backurl);
83
-
84
-
85
-
Browse code

Copyright year update

Bernd Wurst authored on 13/01/2018 06:07:05
Showing 1 changed files
... ...
@@ -2,7 +2,7 @@
2 2
 /*
3 3
 This file belongs to the Webinterface of schokokeks.org Hosting
4 4
 
5
-Written 2008-2014 by schokokeks.org Hosting, namely
5
+Written 2008-2018 by schokokeks.org Hosting, namely
6 6
   Bernd Wurst <bernd@schokokeks.org>
7 7
   Hanno Böck <hanno@schokokeks.org>
8 8
 
Browse code

Speichere und zeige Start- und Enddatum von Client-Zertifikaten

Bernd Wurst authored on 07/04/2016 06:07:38
Showing 1 changed files
... ...
@@ -52,7 +52,8 @@ if (isset($_SESSION['clientcert_cert']))
52 52
   output('<p>Es wurde folgendes Client-Zertifikat von Ihrem Browser gesendet:</p>
53 53
 <div style="margin-left: 2em;"><strong>DN:</strong> '.filter_input_general($_SESSION['clientcert_dn']).'<br />
54 54
 <strong>Aussteller-DN:</strong> '.filter_input_general($_SESSION['clientcert_issuer']).'<br />
55
-<strong>Seriennummer:</strong> '.filter_input_general($_SESSION['clientcert_serial']).'</div>
55
+<strong>Seriennummer:</strong> '.filter_input_general($_SESSION['clientcert_serial']).'<br />
56
+<strong>Gültigkeit:</strong> '.filter_input_general($_SESSION['clientcert_valid_from']).' bis '.filter_input_general($_SESSION['clientcert_valid_until']).'</div>
56 57
 <p>Soll dieses Zertifikat für den Zugang für <strong>'.$username.'</strong> verwendet werden?</p>');
57 58
   output(html_form('clientcert_add', 'certsave.php', 'action=new', '<p><input type="submit" name="submit" value="Ja, dieses Zertifikat einrichten" /> &#160; '.internal_link('cert', 'Nein', 'clear').'</p>'));
58 59
   output('</div>');
... ...
@@ -65,7 +66,7 @@ if ($certs != NULL) {
65 66
   output('<p>Sie haben bereits Zertifikate für den Zugang eingerichtet.</p>
66 67
   <ul>');
67 68
   foreach ($certs AS $cert) {
68
-   	output('<li>'.$cert['dn'].' / Seriennummer '.$cert['serial'].'<br /><em>ausgestellt von </em>'.$cert['issuer']);
69
+   	output('<li>'.$cert['dn'].' / Seriennummer '.$cert['serial'].' / '.'Gültig von '.$cert['valid_from'].' bis '.$cert['valid_until'].'<br /><em>ausgestellt von </em>'.$cert['issuer']);
69 70
     output('<br />'.internal_link('certsave', 'Dieses Zertifikat löschen', 'action=delete&id='.$cert['id']));
70 71
     output('</li>');
71 72
   }
Browse code

Speichere und zeige Seriennummer von Client-Zertifikaten

Bernd Wurst authored on 07/04/2016 05:37:36
Showing 1 changed files
... ...
@@ -31,6 +31,7 @@ if (isset($_GET['clear']))
31 31
   unset($_SESSION['clientcert_cert']);
32 32
   unset($_SESSION['clientcert_dn']);
33 33
   unset($_SESSION['clientcert_issuer']);
34
+  unset($_SESSION['clientcert_serial']);
34 35
 }
35 36
 
36 37
 $username = NULL;
... ...
@@ -50,7 +51,8 @@ if (isset($_SESSION['clientcert_cert']))
50 51
   output('<div style="margin: 1em; padding: 1em; border: 2px solid green;">');
51 52
   output('<p>Es wurde folgendes Client-Zertifikat von Ihrem Browser gesendet:</p>
52 53
 <div style="margin-left: 2em;"><strong>DN:</strong> '.filter_input_general($_SESSION['clientcert_dn']).'<br />
53
-<strong>Aussteller-DN:</strong> '.filter_input_general($_SESSION['clientcert_issuer']).'</div>
54
+<strong>Aussteller-DN:</strong> '.filter_input_general($_SESSION['clientcert_issuer']).'<br />
55
+<strong>Seriennummer:</strong> '.filter_input_general($_SESSION['clientcert_serial']).'</div>
54 56
 <p>Soll dieses Zertifikat für den Zugang für <strong>'.$username.'</strong> verwendet werden?</p>');
55 57
   output(html_form('clientcert_add', 'certsave.php', 'action=new', '<p><input type="submit" name="submit" value="Ja, dieses Zertifikat einrichten" /> &#160; '.internal_link('cert', 'Nein', 'clear').'</p>'));
56 58
   output('</div>');
... ...
@@ -63,7 +65,7 @@ if ($certs != NULL) {
63 65
   output('<p>Sie haben bereits Zertifikate für den Zugang eingerichtet.</p>
64 66
   <ul>');
65 67
   foreach ($certs AS $cert) {
66
-   	output('<li>'.$cert['dn'].'<br /><em>ausgestellt von </em>'.$cert['issuer']);
68
+   	output('<li>'.$cert['dn'].' / Seriennummer '.$cert['serial'].'<br /><em>ausgestellt von </em>'.$cert['issuer']);
67 69
     output('<br />'.internal_link('certsave', 'Dieses Zertifikat löschen', 'action=delete&id='.$cert['id']));
68 70
     output('</li>');
69 71
   }
Browse code

Lizenzinfos in eigenes Modul ausgelagert und Copyright auf 2014 angepasst

Bernd Wurst authored on 08/02/2014 05:45:07
Showing 1 changed files
... ...
@@ -2,7 +2,7 @@
2 2
 /*
3 3
 This file belongs to the Webinterface of schokokeks.org Hosting
4 4
 
5
-Written 2008-2013 by schokokeks.org Hosting, namely
5
+Written 2008-2014 by schokokeks.org Hosting, namely
6 6
   Bernd Wurst <bernd@schokokeks.org>
7 7
   Hanno Böck <hanno@schokokeks.org>
8 8
 
Browse code

Updated copyright notice (2012 => 2013)

Bernd Wurst authored on 19/01/2013 10:49:50
Showing 1 changed files
... ...
@@ -2,7 +2,7 @@
2 2
 /*
3 3
 This file belongs to the Webinterface of schokokeks.org Hosting
4 4
 
5
-Written 2008-2012 by schokokeks.org Hosting, namely
5
+Written 2008-2013 by schokokeks.org Hosting, namely
6 6
   Bernd Wurst <bernd@schokokeks.org>
7 7
   Hanno Böck <hanno@schokokeks.org>
8 8
 
Browse code

warnung wegen TLS-renegotiation weg, das ist uralt und verwirrt nur

schokokeks.org web services authored on 12/12/2012 11:19:27
Showing 1 changed files
... ...
@@ -77,15 +77,6 @@ else
77 77
 $backurl = 'go/index/cert';
78 78
 
79 79
 addnew('../../certlogin/index.php', 'Neues Client-Zertifikat hinzufügen', 'record&backto='.$backurl);
80
-output('
81
-<div class="error"><strong>Hinweis:</strong><br />
82
-Sie benötigen für den Login per Zertifikat einen Browser, der die so genannte
83
-TLS-Renegotiation nach dem Standard RFC 5746 unterstützt. Firefox kann dies
84
-ab Version 3.6.2.
85
-<a href="http://www.phonefactor.com/sslgap/ssl-tls-authentication-patches">Hier</a>
86
-finden Sie weitere Informationen zur Unterstützung in anderen Browsern.
87
-</div>');
88
-
89 80
 
90 81
 
91 82
 
Browse code

bugfix: missing brackets

Bernd Wurst authored on 30/03/2012 17:42:33
Showing 1 changed files
... ...
@@ -36,8 +36,9 @@ if (isset($_GET['clear']))
36 36
 $username = NULL;
37 37
 if ($_SESSION['role'] & ROLE_SYSTEMUSER) {
38 38
   $username = $_SESSION['userinfo']['username'];
39
-  if (isset($_SESSION['subuser']))
39
+  if (isset($_SESSION['subuser'])) {
40 40
     $username = $_SESSION['subuser'];
41
+  }
41 42
 } elseif ($_SESSION['role'] & ROLE_VMAIL_ACCOUNT) {
42 43
   $username = $_SESSION['mailaccount'];
43 44
 }
Browse code

bugfix: most users have multiple roles, so checking with == is wrong

Bernd Wurst authored on 30/03/2012 14:33:43
Showing 1 changed files
... ...
@@ -34,11 +34,11 @@ if (isset($_GET['clear']))
34 34
 }
35 35
 
36 36
 $username = NULL;
37
-if ($_SESSION['role'] == ROLE_SYSTEMUSER) {
37
+if ($_SESSION['role'] & ROLE_SYSTEMUSER) {
38 38
   $username = $_SESSION['userinfo']['username'];
39 39
   if (isset($_SESSION['subuser']))
40 40
     $username = $_SESSION['subuser'];
41
-} elseif ($_SESSION['role'] == ROLE_VMAIL_ACCOUNT) {
41
+} elseif ($_SESSION['role'] & ROLE_VMAIL_ACCOUNT) {
42 42
   $username = $_SESSION['mailaccount'];
43 43
 }
44 44
 
... ...
@@ -56,6 +56,7 @@ if (isset($_SESSION['clientcert_cert']))
56 56
 }
57 57
 
58 58
 
59
+DEBUG($username);
59 60
 $certs = get_certs_by_username($username);
60 61
 if ($certs != NULL) {
61 62
   output('<p>Sie haben bereits Zertifikate für den Zugang eingerichtet.</p>
Browse code

Added license tags for CC0, README and COPYING

Bernd Wurst authored on 11/03/2012 15:40:04
Showing 1 changed files
... ...
@@ -1,4 +1,18 @@
1 1
 <?php
2
+/*
3
+This file belongs to the Webinterface of schokokeks.org Hosting
4
+
5
+Written 2008-2012 by schokokeks.org Hosting, namely
6
+  Bernd Wurst <bernd@schokokeks.org>
7
+  Hanno Böck <hanno@schokokeks.org>
8
+
9
+To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.
10
+
11
+You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see 
12
+http://creativecommons.org/publicdomain/zero/1.0/
13
+
14
+Nevertheless, in case you use a significant part of this code, we ask (but not require, see the license) that you keep the authors' names in place and return your changes to the public. We would be especially happy if you tell us what you're going to do with this code.
15
+*/
2 16
 
3 17
 require_once('inc/base.php');
4 18
 require_once('x509.php');
Browse code

Ermögliche Client-Cert-Login auch für VMail-Accounts

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@2217 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on 05/03/2012 06:19:25
Showing 1 changed files
... ...
@@ -3,7 +3,7 @@
3 3
 require_once('inc/base.php');
4 4
 require_once('x509.php');
5 5
 
6
-require_role(ROLE_SYSTEMUSER);
6
+require_role(array(ROLE_SYSTEMUSER, ROLE_SUBUSER, ROLE_VMAIL_ACCOUNT));
7 7
 
8 8
 title('Anmeldung über Client-Zertifikat');
9 9
 output('<p>Sie können Sie an diesem Webinterface wahlweise auch über ein SSL-Client-Zertifikat anmelden. Dazu muss das gewünschte Zertifikat <em>vorher</em> in Ihrem Browser installiert werden und kann dann hier hinzugefügt werden.</p>
... ...
@@ -19,6 +19,15 @@ if (isset($_GET['clear']))
19 19
   unset($_SESSION['clientcert_issuer']);
20 20
 }
21 21
 
22
+$username = NULL;
23
+if ($_SESSION['role'] == ROLE_SYSTEMUSER) {
24
+  $username = $_SESSION['userinfo']['username'];
25
+  if (isset($_SESSION['subuser']))
26
+    $username = $_SESSION['subuser'];
27
+} elseif ($_SESSION['role'] == ROLE_VMAIL_ACCOUNT) {
28
+  $username = $_SESSION['mailaccount'];
29
+}
30
+
22 31
 if (isset($_SESSION['clientcert_cert']))
23 32
 {
24 33
   // FIXME: Es gibt keine Duplikaterkennung.
... ...
@@ -27,15 +36,12 @@ if (isset($_SESSION['clientcert_cert']))
27 36
   output('<p>Es wurde folgendes Client-Zertifikat von Ihrem Browser gesendet:</p>
28 37
 <div style="margin-left: 2em;"><strong>DN:</strong> '.filter_input_general($_SESSION['clientcert_dn']).'<br />
29 38
 <strong>Aussteller-DN:</strong> '.filter_input_general($_SESSION['clientcert_issuer']).'</div>
30
-<p>Soll dieses Zertifikat für den Zugang zum Benutzerkonto <strong>'.$_SESSION['userinfo']['username'].'</strong> verwendet werden?</p>');
39
+<p>Soll dieses Zertifikat für den Zugang für <strong>'.$username.'</strong> verwendet werden?</p>');
31 40
   output(html_form('clientcert_add', 'certsave.php', 'action=new', '<p><input type="submit" name="submit" value="Ja, dieses Zertifikat einrichten" /> &#160; '.internal_link('cert', 'Nein', 'clear').'</p>'));
32 41
   output('</div>');
33 42
 }
34 43
 
35 44
 
36
-$username = $_SESSION['userinfo']['username'];
37
-if (isset($_SESSION['subuser']))
38
-  $username = $_SESSION['subuser'];
39 45
 $certs = get_certs_by_username($username);
40 46
 if ($certs != NULL) {
41 47
   output('<p>Sie haben bereits Zertifikate für den Zugang eingerichtet.</p>
Browse code

Cert-Login geht jetztauch mit sub-usern

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1823 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on 01/10/2010 10:45:35
Showing 1 changed files
... ...
@@ -33,7 +33,10 @@ if (isset($_SESSION['clientcert_cert']))
33 33
 }
34 34
 
35 35
 
36
-$certs = get_certs_by_username($_SESSION['userinfo']['username']);
36
+$username = $_SESSION['userinfo']['username'];
37
+if (isset($_SESSION['subuser']))
38
+  $username = $_SESSION['subuser'];
39
+$certs = get_certs_by_username($username);
37 40
 if ($certs != NULL) {
38 41
   output('<p>Sie haben bereits Zertifikate für den Zugang eingerichtet.</p>
39 42
   <ul>');
Browse code

Benutze überall title() statt output("<h3>...</h3>")

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1812 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on 18/09/2010 13:35:15
Showing 1 changed files
... ...
@@ -5,10 +5,8 @@ require_once('x509.php');
5 5
 
6 6
 require_role(ROLE_SYSTEMUSER);
7 7
 
8
-$title = "Client-Zertifikate";
9
-output('<h3>Anmeldung über Client-Zertifikat</h3>
10
-
11
-<p>Sie können Sie an diesem Webinterface wahlweise auch über ein SSL-Client-Zertifikat anmelden. Dazu muss das gewünschte Zertifikat <em>vorher</em> in Ihrem Browser installiert werden und kann dann hier hinzugefügt werden.</p>
8
+title('Anmeldung über Client-Zertifikat');
9
+output('<p>Sie können Sie an diesem Webinterface wahlweise auch über ein SSL-Client-Zertifikat anmelden. Dazu muss das gewünschte Zertifikat <em>vorher</em> in Ihrem Browser installiert werden und kann dann hier hinzugefügt werden.</p>
12 10
 <p>Wenn Sie ein Zertifikat mit der entsprechenden Funktion unten auf dieser Seite hinzufügen, wird Sie Ihr Browser fragen, welches Zertifikat verwendet werden soll. Sollte Ihr Browser nicht fragen, ist entweder kein Zertifikat im Browser installiert oder Sie haben Ihren Browser auf <em>Niemals fragen</em> (o.Ä.) eingestellt.</p>
13 11
 ');
14 12
 
Browse code

neue warnmeldung, tls renegotiation

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1707 87cf0b9e-d624-0410-a070-f6ee81989793

hanno authored on 28/03/2010 19:33:19
Showing 1 changed files
... ...
@@ -56,10 +56,12 @@ $backurl = 'go/index/cert';
56 56
 addnew('../../certlogin/index.php', 'Neues Client-Zertifikat hinzufügen', 'record&backto='.$backurl);
57 57
 output('
58 58
 <div class="error"><strong>Hinweis:</strong><br />
59
-Aufgrund einer aktuellen Sicherheits-Lücke wurde in vielen Browsern die so genannte TLS-Renegotiation abgeschaltet. Ohne diese Funktion ist ein Login über Client-Zertifikate technisch nicht möglich.
60
-Mit einigen aktuellen Browser-Versionen ist der Login mittels Client-Zertifikat momentan nicht möglich.
61
-
62
-<a href="http://groups.google.com/group/mozilla.dev.tech.crypto/browse_thread/thread/42c17928ea4fc374">Informationen und Lösungsmöglichkeit zum Mozilla-Firefox</a></div>');
59
+Sie benötigen für den Login per Zertifikat einen Browser, der die so genannte
60
+TLS-Renegotiation nach dem Standard RFC 5746 unterstützt. Firefox kann dies
61
+ab Version 3.6.2.
62
+<a href="http://www.phonefactor.com/sslgap/ssl-tls-authentication-patches">Hier</a>
63
+finden Sie weitere Informationen zur Unterstützung in anderen Browsern.
64
+</div>');
63 65
 
64 66
 
65 67
 
Browse code

Diverse XML-Fehler behoben

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1690 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on 09/03/2010 15:12:06
Showing 1 changed files
... ...
@@ -59,7 +59,7 @@ output('
59 59
 Aufgrund einer aktuellen Sicherheits-Lücke wurde in vielen Browsern die so genannte TLS-Renegotiation abgeschaltet. Ohne diese Funktion ist ein Login über Client-Zertifikate technisch nicht möglich.
60 60
 Mit einigen aktuellen Browser-Versionen ist der Login mittels Client-Zertifikat momentan nicht möglich.
61 61
 
62
-<a href="http://groups.google.com/group/mozilla.dev.tech.crypto/browse_thread/thread/42c17928ea4fc374">Informationen und Lösungsmöglichkeit zum Mozilla-Firefox</a>');
62
+<a href="http://groups.google.com/group/mozilla.dev.tech.crypto/browse_thread/thread/42c17928ea4fc374">Informationen und Lösungsmöglichkeit zum Mozilla-Firefox</a></div>');
63 63
 
64 64
 
65 65
 
Browse code

Lösungsmöglichkeit für Firefox verlinkt

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1548 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on 21/12/2009 17:30:43
Showing 1 changed files
... ...
@@ -57,7 +57,9 @@ addnew('../../certlogin/index.php', 'Neues Client-Zertifikat hinzufügen', 'reco
57 57
 output('
58 58
 <div class="error"><strong>Hinweis:</strong><br />
59 59
 Aufgrund einer aktuellen Sicherheits-Lücke wurde in vielen Browsern die so genannte TLS-Renegotiation abgeschaltet. Ohne diese Funktion ist ein Login über Client-Zertifikate technisch nicht möglich.
60
-Es gibt daher momentan viele aktuelle Browser, mit denen der Login via Client-Zertifikat nicht benutzt werden kann.</div>');
60
+Mit einigen aktuellen Browser-Versionen ist der Login mittels Client-Zertifikat momentan nicht möglich.
61
+
62
+<a href="http://groups.google.com/group/mozilla.dev.tech.crypto/browse_thread/thread/42c17928ea4fc374">Informationen und Lösungsmöglichkeit zum Mozilla-Firefox</a>');
61 63
 
62 64
 
63 65
 
Browse code

Hinweis aus TLS-reneg-Probleme

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1546 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on 19/12/2009 16:53:02
Showing 1 changed files
... ...
@@ -53,7 +53,12 @@ else
53 53
 
54 54
 $backurl = 'go/index/cert';
55 55
 
56
-output('<p>'.internal_link('../../certlogin/index.php', 'Neues Client-Zertifikat hinzufügen', 'record&backto='.$backurl).'</p>');
56
+addnew('../../certlogin/index.php', 'Neues Client-Zertifikat hinzufügen', 'record&backto='.$backurl);
57
+output('
58
+<div class="error"><strong>Hinweis:</strong><br />
59
+Aufgrund einer aktuellen Sicherheits-Lücke wurde in vielen Browsern die so genannte TLS-Renegotiation abgeschaltet. Ohne diese Funktion ist ein Login über Client-Zertifikate technisch nicht möglich.
60
+Es gibt daher momentan viele aktuelle Browser, mit denen der Login via Client-Zertifikat nicht benutzt werden kann.</div>');
61
+
57 62
 
58 63
 
59 64
 
Browse code

Einige Dummheiten repariert, die beim ersetzen von $config durch config() aufgetreten sind. Zudem einige Closing-Tag-mismatches repariert, die man nur sieht wenn man XHTML-Modus einschaltet

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1377 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on 23/05/2009 15:55:23
Showing 1 changed files
... ...
@@ -48,7 +48,7 @@ if ($certs != NULL) {
48 48
 }
49 49
 else
50 50
 {
51
-  output('<p><em>Bisher sind keine Zertifikate für Ihren Zugang eingerichtet</em>');
51
+  output('<p><em>Bisher sind keine Zertifikate für Ihren Zugang eingerichtet</em></p>');
52 52
 }
53 53
 
54 54
 $backurl = 'go/index/cert';
Browse code

Mehr config-optionen und config via Wrapper-Funktion benutzen

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1376 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on 23/05/2009 15:24:52
Showing 1 changed files
... ...
@@ -24,7 +24,6 @@ if (isset($_GET['clear']))
24 24
 if (isset($_SESSION['clientcert_cert']))
25 25
 {
26 26
   // FIXME: Es gibt keine Duplikaterkennung.
27
-  global $config;
28 27
   global $menu;
29 28
   output('<div style="margin: 1em; padding: 1em; border: 2px solid green;">');
30 29
   output('<p>Es wurde folgendes Client-Zertifikat von Ihrem Browser gesendet:</p>
Browse code

Bug im Client-Zertfikat-Manager gefixed und encode_querystring() verbessert

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1318 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on 31/03/2009 10:49:47
Showing 1 changed files
... ...
@@ -52,7 +52,7 @@ else
52 52
   output('<p><em>Bisher sind keine Zertifikate für Ihren Zugang eingerichtet</em>');
53 53
 }
54 54
 
55
-$backurl = str_replace('?clear', '', $_SERVER['REQUEST_URI']);
55
+$backurl = 'go/index/cert';
56 56
 
57 57
 output('<p>'.internal_link('../../certlogin/index.php', 'Neues Client-Zertifikat hinzufügen', 'record&backto='.$backurl).'</p>');
58 58
 

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1293 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on 06/03/2009 10:41:43
Showing 1 changed files
... ...
@@ -9,7 +9,7 @@ $title = "Client-Zertifikate";
9 9
 output('<h3>Anmeldung über Client-Zertifikat</h3>
10 10
 
11 11
 <p>Sie können Sie an diesem Webinterface wahlweise auch über ein SSL-Client-Zertifikat anmelden. Dazu muss das gewünschte Zertifikat <em>vorher</em> in Ihrem Browser installiert werden und kann dann hier hinzugefügt werden.</p>
12
-<p>Wenn Sie ein Zertifikat mit der entsprechenden Funktion unten auf dieser Seite hinzufügen, wird Sie Ihr Browser fragen, welches Zertifikat verwendet werden soll. Sollte Ihr Browser nicht fragen, ist entweder kein Zertifikat im Browser installiert oder Sie haben Ihren Browser auf <em>Niemals fragen</em> (o.Ä. eingestellt.</p>
12
+<p>Wenn Sie ein Zertifikat mit der entsprechenden Funktion unten auf dieser Seite hinzufügen, wird Sie Ihr Browser fragen, welches Zertifikat verwendet werden soll. Sollte Ihr Browser nicht fragen, ist entweder kein Zertifikat im Browser installiert oder Sie haben Ihren Browser auf <em>Niemals fragen</em> (o.Ä.) eingestellt.</p>
13 13
 ');
14 14
 
15 15
 
Browse code

Login via Client-Zertifikat (userinterface)

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1291 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on 05/03/2009 11:13:27
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,60 @@
1
+<?php
2
+
3
+require_once('inc/base.php');
4
+require_once('x509.php');
5
+
6
+require_role(ROLE_SYSTEMUSER);
7
+
8
+$title = "Client-Zertifikate";
9
+output('<h3>Anmeldung über Client-Zertifikat</h3>
10
+
11
+<p>Sie können Sie an diesem Webinterface wahlweise auch über ein SSL-Client-Zertifikat anmelden. Dazu muss das gewünschte Zertifikat <em>vorher</em> in Ihrem Browser installiert werden und kann dann hier hinzugefügt werden.</p>
12
+<p>Wenn Sie ein Zertifikat mit der entsprechenden Funktion unten auf dieser Seite hinzufügen, wird Sie Ihr Browser fragen, welches Zertifikat verwendet werden soll. Sollte Ihr Browser nicht fragen, ist entweder kein Zertifikat im Browser installiert oder Sie haben Ihren Browser auf <em>Niemals fragen</em> (o.Ä. eingestellt.</p>
13
+');
14
+
15
+
16
+
17
+if (isset($_GET['clear']))
18
+{
19
+  unset($_SESSION['clientcert_cert']);
20
+  unset($_SESSION['clientcert_dn']);
21
+  unset($_SESSION['clientcert_issuer']);
22
+}
23
+
24
+if (isset($_SESSION['clientcert_cert']))
25
+{
26
+  // FIXME: Es gibt keine Duplikaterkennung.
27
+  global $config;
28
+  global $menu;
29
+  output('<div style="margin: 1em; padding: 1em; border: 2px solid green;">');
30
+  output('<p>Es wurde folgendes Client-Zertifikat von Ihrem Browser gesendet:</p>
31
+<div style="margin-left: 2em;"><strong>DN:</strong> '.filter_input_general($_SESSION['clientcert_dn']).'<br />
32
+<strong>Aussteller-DN:</strong> '.filter_input_general($_SESSION['clientcert_issuer']).'</div>
33
+<p>Soll dieses Zertifikat für den Zugang zum Benutzerkonto <strong>'.$_SESSION['userinfo']['username'].'</strong> verwendet werden?</p>');
34
+  output(html_form('clientcert_add', 'certsave.php', 'action=new', '<p><input type="submit" name="submit" value="Ja, dieses Zertifikat einrichten" /> &#160; '.internal_link('cert', 'Nein', 'clear').'</p>'));
35
+  output('</div>');
36
+}
37
+
38
+
39
+$certs = get_certs_by_username($_SESSION['userinfo']['username']);
40
+if ($certs != NULL) {
41
+  output('<p>Sie haben bereits Zertifikate für den Zugang eingerichtet.</p>
42
+  <ul>');
43
+  foreach ($certs AS $cert) {
44
+   	output('<li>'.$cert['dn'].'<br /><em>ausgestellt von </em>'.$cert['issuer']);
45
+    output('<br />'.internal_link('certsave', 'Dieses Zertifikat löschen', 'action=delete&id='.$cert['id']));
46
+    output('</li>');
47
+  }
48
+  output('</ul>');
49
+}
50
+else
51
+{
52
+  output('<p><em>Bisher sind keine Zertifikate für Ihren Zugang eingerichtet</em>');
53
+}
54
+
55
+$backurl = str_replace('?clear', '', $_SERVER['REQUEST_URI']);
56
+
57
+output('<p>'.internal_link('../../certlogin/index.php', 'Neues Client-Zertifikat hinzufügen', 'record&backto='.$backurl).'</p>');
58
+
59
+
60
+