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 on09/03/2010 15:12:06
Showing5 changed files
... ...
@@ -59,7 +59,7 @@ if ($new)
59 59
 else
60 60
   output('<h3>DNS-Record bearbeiten</h3>');
61 61
 
62
-output('<p style="border: 2px solid red; padding: 1em; padding-left: 4em;"><img src="'.$prefix.'images/warning.png" style="margin-left: -3em; float: left;"><strong>Bitte beachten Sie:</strong> Um Ihnen auch ungewöhniche Konstellationen zu ermöglichen, erlaubt dieses Webinterface sehr großzügige Eintragungen, die eventuell nicht plausibel sind oder vom DNS-Server gar nicht so verstanden werden können. Wir können sicherheitskritische Einträge herausfiltern, jedoch nicht logische Fehler automatisch erkennen. Im Fehlerfall wird meistens Ihre gesamte Domain vom DNS-Server ausgeschlossen, so lange sich Fehler in der Konfiguration befinden. Sollten Sie hier also fehlerhafte Eintragungen machen, kann dies die Erreichbarkeit der betreffenden Domain im Ganzen stören.</p>');
62
+output('<p style="border: 2px solid red; padding: 1em; padding-left: 4em;"><img src="'.$prefix.'images/warning.png" style="margin-left: -3em; float: left;" /><strong>Bitte beachten Sie:</strong> Um Ihnen auch ungewöhniche Konstellationen zu ermöglichen, erlaubt dieses Webinterface sehr großzügige Eintragungen, die eventuell nicht plausibel sind oder vom DNS-Server gar nicht so verstanden werden können. Wir können sicherheitskritische Einträge herausfiltern, jedoch nicht logische Fehler automatisch erkennen. Im Fehlerfall wird meistens Ihre gesamte Domain vom DNS-Server ausgeschlossen, so lange sich Fehler in der Konfiguration befinden. Sollten Sie hier also fehlerhafte Eintragungen machen, kann dies die Erreichbarkeit der betreffenden Domain im Ganzen stören.</p>');
63 63
 
64 64
 
65 65
 output('<p>Record-Typ: '.strtoupper($type).'</p>');
... ...
@@ -159,7 +159,7 @@ function get_domain_records($dom)
159 159
 function get_domain_auto_records($domainname)
160 160
 {
161 161
   $domainname = mysql_real_escape_string($domainname);
162
-  #$result = db_query("SELECT hostname, domain, CONCAT_WS('.', hostname, domain) AS fqdn, type, ip, spec, data, ttl FROM dns.v_autogenerated_records WHERE domain='{$domainname}'");
162
+  #$result = db_query("SELECT hostname, domain, CONCAT_WS('.', hostname, domain) AS fqdn, type, ip, spec, data, TRIM(ttl) FROM dns.v_autogenerated_records WHERE domain='{$domainname}'");
163 163
   $result = db_query("SELECT hostname, domain, CONCAT_WS('.', hostname, domain) AS fqdn, type, ip, spec, data, ttl FROM dns.tmp_autorecords WHERE domain='{$domainname}'");
164 164
   $data = array();
165 165
   while ($entry = mysql_fetch_assoc($result)) {
... ...
@@ -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
 
... ...
@@ -44,10 +44,26 @@ if ( is_file($file) )
44 44
   $html = preg_replace(':^.*?<BODY[^>]*>(.*)</BODY>.*$:si', '$1', $html);
45 45
   DEBUG($html);
46 46
 
47
+  // <BR> rewriten
48
+  $html = preg_replace('/<BR>/', '<BR />', $html);
49
+  // <HR> rewriten
50
+  $html = preg_replace('/<HR>/', '<HR />', $html);
51
+  // <P> rewriten
52
+  $html = preg_replace('/<P>/', '<BR />', $html);
53
+  // NOWRAP rewriten
54
+  $html = preg_replace('/NOWRAP/', 'nowrap="nowrap"', $html);
55
+  // lowercase tag names and keys
56
+  $html = preg_replace('/(<[^ ]+ )/e', "strtolower('$1')", $html);
57
+  $html = preg_replace('/( [A-Z]+=)/e', "strtolower('$1')", $html);
58
+  // xml-values mit anführungszeichen
59
+  $html = preg_replace('/=([-0-9a-zA-Z]+)([ >])/', '="$1"$2', $html);
47 60
   // Bilder rewriten
48
-  $html = preg_replace('/SRC="((daily_|hourly_|ctry_)?usage(_[0-9]+)?\.png)"/', 'SRC="showstats?vhost='.$vhost['id'].'&amp;file=$1"', $html);
61
+  $html = preg_replace('_<img ([^>]+[^/])>_', '<img $1 />', $html);
62
+  
63
+  // Bilder rewriten
64
+  $html = preg_replace('/src="((daily_|hourly_|ctry_)?usage(_[0-9]+)?\.png)"/', 'src="showstats?vhost='.$vhost['id'].'&amp;file=$1"', $html);
49 65
   // Interne Links rewriten
50
-  $html = preg_replace('!HREF="(./)?((usage|agent|search|ref|url|site|index)(_[0-9]+)?\.html)"!', 'HREF="showstats?vhost='.$vhost['id'].'&amp;file=$2"', $html);
66
+  $html = preg_replace('!href="(./)?((usage|agent|search|ref|url|site|index)(_[0-9]+)?\.html)"!', 'href="showstats?vhost='.$vhost['id'].'&amp;file=$2"', $html);
51 67
   output($html);
52 68
 }
53 69
 else
... ...
@@ -69,8 +69,8 @@ if (count($stats_vhosts) > 0)
69 69
     output(" &#160; ".internal_link("", icon_delete("Diese Statistiken löschen"), "vhost={$v['id']}&action=delete")."</td>");
70 70
     output("</tr>");
71 71
   
72
-  }
73
-  output('</table');
72
+}
73
+output('</table>');
74 74
 }
75 75
 else
76 76
   output('<em>Für Ihre Seiten werden bisher keine Statistiken erzeugt</em>');