Wenn der Webserver für das Hochfahren erst eine Verbindung nach draußen in das böse Internet machen muß, ist das ein Angriffspunkt mehr, der nur Zeit kostet. Also nicht sowas machen:
<%@ taglib uri=”http://myfaces.apache.org/extensions” prefix=”x”%>
sondern lieber so:
<%@ taglib uri=”/WEB-INF/html_basic.tld” prefix=”h” %>
externe taglib Referenzen
Portnummern bei Client Server Projekten
Bei vielen kommerziellen Java produkten gibt es das Problem, oder eher den Fehler, daß die Kommunikation über willkürliche Ports geführt wird, die sich auch noch bei jedem Start ändern könnten. Das ist der Albtraum jedes Firewall Admins und muß technisch nicht sein.
Daher sollten entweder gleich nur registrierte Ports genommen werden, oder man sollte aus dem [...]
Sicherer Stringvergleich
Der Unterschied zwischen:
if(“Set-Cookie”.equals(headerKey))
und
if(headerKey.equals(“Set-Cookie”))
ist:
Bei der ersten Version braucht man die Variable headerKey nicht auf null abzuprüfen, bei der zweiten schon. Also ist die erste Variante stabiler und womöglich auch effizienter.
Generics in Collections
Endlich weg vom expliziten Typecasting, macht in dem Beispiel nämlich in der vorher-Fassung eine leckere Axception.
import java.util.*;
public class Ex1 {
private void testCollection() {
List list = new ArrayList();
list.add(new String(“Hello world!”));
list.add(new String(“Good bye!”));
list.add(new Integer(95));
printCollection(list);
}
private void printCollection(Collection c) {
Iterator i = c.iterator();
while(i.hasNext()) {
String item = (String) i.next();
System.out.println(“Item: “+item);
}
}
public static void main(String argv[]) {
Ex1 e = new Ex1();
e.testCollection();
}
}
nachher:
import [...]
JBoss Absicherung
Bis zur aktuellen Version 4.0.2 läuft eine standard Installation noch ohne jegliche Absicherung, die jmx und die jboss Konsole hat kein Login!
Das ganze muß, wie in der Jboss Doku beschrieben, in mehreren Dateien erst einkommentiert werden. Und der dann aktive User admin/admin sollte geändert werden.
externe Schema Referenzen
Und noch eine Fehlerquelle mehr. Viele XML Anhänger schwenken von einfachen DTDs zu Schema Beschreibungen um. Es ist zwar schön, wenn diese immer aktuell auf der Website des Erstellers zu finden sind, man sollte diese aber lokal mit dem eigenen Projekt abspeichernnund auch lokal referenzieren. Warum:
dauert es sonst länger, wenn die XML Dateien validiert werden
die [...]
Serialisierung vom Login
Bei Struts, Tomcat und Konsorten gibt es das nette Feature, alle Sitzungsdaten beim Serverneustart zu serialisieren und wieder einzulesen. Leider sind dann auch die Passwörter aller zuletzt erfolgten Anmeldungen im Klartext in dieser Datei irgendwo im Work-Baum zu finden! Also muß man die Serialisierung entweder einfach komplett anschalten, oder für diese Klassen mal was eigenes [...]
keine Exceptions im Browser
Es sieht nicht nur unästhetisch aus, sondern kann auch zu viele Informationen zu Programmierung an den potentiellen Angreifer senden. Also die Exceptions und StackTraces nur lokal in eine Datei sichern und das reinschauen nicht vergessen.
Remote Debugging
Das ist zwar im Schadensfalle etwas schönes, allerdings implementieren nicht alle Application Server dabei eine Absicherung, wie z.B. ein Passwort. Und selbst wenn, wäre die Kommunikation in den meisten Fällen noch unverschlüsselt.
Besser ist es also, das mit einer Firewall davor zu sichern, die wirklich nur die eigene (dann natürlich feste) IP Nummer zum Server auf [...]
| M | D | M | D | F | S | S |
|---|---|---|---|---|---|---|
| « Apr | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | |||
Recent Entries
Recent Comments
- Keine Kommentare vorhanden.
