WordPress, PHP, JavaScript, Web 2.0, Gaming, Motorräder, Fotografie, Piratenpartei, Privates

javascript

Anonymous: Nachfolger von LOIC lässt auf sich warten, dafür nun Angriff via JavaScript

Do 26 Jan. 12 # Permalink

Vor einiger Zeit spekulierte ich über die neue Wunderwaffe “RefRef” des Hackerkollektivs Anonymous. Es waren leider nicht besonders viele Informationen erhältlich, aber es war von ungeschlossenen MySQL Lücken und JavaScript die Rede. Da ich auch jetzt nach 4 Monaten immer noch nichts von RefRef gehört habe, gehe ich mal davon aus, dass die Idee fallen gelassen wurde, oder ein Hoax war. Trotzdem gibt es in der Anonymous Szene nun einen ernst zu nehmenden Ersatz für die Large Orbit Ion Cannon – das Standard DDoS Tool der losen Hacker-Vereinigung. Problem bei LOIC war aber immer, das die Benutzer mit einem Bein im Knast standen, weil dieses Tool nur bewusst installiert und ausgeführt werden kann. Das ist in den meisten Ländern strafbar – auch in Deutschland fällt dies unter den sogenannten “Hackerparagraphen”.

Jetzt haben sich die Anons etwas geschicktes einfallen lassen: Ein DDoS Tool, das in JavaScript geschrieben wurde und auf öffentlichen Servern wie pastebin plaziert wird. Danach werden die Links zur Aktion verbreitet – Anonymous goes social media – und wer den Link anklickt nimmt automatisch an der Op teil. Vorteil für die Mitglieder des Netzwerks: Die Behörden können schlecht nachweisen, ob die Seite bewusst, oder unbewusst für die Teilnahme an einem DDoS Angriff aufgerufen wurde, weil die Requests auf das Ziel ohne eigenes zutun im Hintergrund aufgebaut werden. Im Zweifel könnte das die Handlungsmöglichkeiten der Behörden aushebeln. Egal was man nun auch von den Methoden des Anonymous Netzwerks hält, aber das ist schon recht geschickt.

Vielleicht ist diese neue Form der DDoS Attacke sogar geschickter als ein kompliziertes und nur auf eine Schwachstelle in MySQL zielendes ominöses Tool wie RefRef. Ich werde mir den Quellcode jedenfalls ansehen (aus Neugier) und schauen wie es gemacht ist. Vermutlich ist es allerdings ziemlich einfach, denn ein solches JavaScript zu schreiben ist weniger aufwändig, als häufig gedacht wird.

Ein Select Auswahlfeld mit Prototype elegant filtern – ohne Ajax.Request

Fr 23 Dez. 11 # Permalink

Wer kennt das Problem als Programmierer nicht? Die User meckern, bei ewig vielen Optionen in einem Auswahlfeld – und das zurecht! Nun können die Optionen des Auswahlfelds mittels Ajax.Request und einem Suchfeld gefiltert werden, aber ein Request ist eben ein Request und ich habe mir deswegen etwas überlegt, was ohne Request auskommt. Dabei herausgekommen ist eine kleine JavaScript-Funktion, die ich gerne zur Verfügung stelle.

Aber zuerst eine kleines Beispiel, wie der HTML-Code dazu aussehen könnte:

<select name="auswahl" id="auswahl">
	<option value="">--Bitte wählen --</option>
	<option value="1">Eins</option>
	<option value="2">Eins</option>
	<option value="3">Eins</option>
	<option value="4">Eins</option>
	<option value="5">Eins</option>
	<option value="1000000">Einemiooooon!!!!</option>
</select>

Filtern:
<input type="text" size="12" value="" onkeyup="filterSelectField( 'auswahl', this.value )"/>

Die dazugehörige JavaScript-Funktion sieht dann so aus:

function filterSelectField( fieldid, s ) {
	var rex = new RegExp( '^' + s.replace( '\.', '\\.' ), "i" );
	$$('select#' + fieldid + ' option').each( function (ele) {
		if( ele.value != '' )
		{
			if( ele.innerHTML.search( rex ) == -1  )
				ele.hide();
			else
				ele.show();
		}
	} );
}

Die Funktionsweise ist schnell erklärt: Mittels einer RegEx wird die Bennenung des Werts der “option” durchsucht und bei einem Treffer angezeigt und bei keinem Treffer ausgeblendet. Einfacher und schneller geht’s nun wirklich nicht. :-)

Viel Spaß damit.

Pornöse JavaScript GUIs, die doch barrierefrei sind

Fr 14 Jan. 11 # Permalink

Mit Prototype, Scriptaculous, jQuery und Konsorten lassen sich wunderbare Interfaces zaubern, herrlich interaktiv mit tollen Effekten und vorallem wesentlich schneller durch den Einsatz von AJAX. Doch wo bleibt dabei die Barrierefreiheit, die ich übrigens im Netz für sehr wichtig halte, nicht nur weil auch blinde Menschen surfen, sondern weil eine barrierefreie Seite automatisch von jedem Endgerät besser gelesen werden kann.

JavaScript ist alles andere als barrierefrei, denn die Braille Browser, die von blinden Menschen benutzt werden, beherrschen kein JavaScript. Aber: Wir können trotzdem GUIs mit AJAX und jede Menge Eyecandy programmieren und der shit läuft trotzdem auch ohne JavaScript. Im Grunde ist es sogar kein großer Aufwand und bekanntlich führen sogar mehrere Wege zum Ziel. Den Weg, den ich immer gehe, den möchte ich mal kurz vorstellen. Weiterlesen…

Empfehlung: typeface.js – TTF und OTF Schriften im Browser verwenden

Di 29 Dez. 09 # Permalink

Ich habe die letzten zwei Tage für ein Kundenprojekt ein Screendesign in XHTML und CSS umgesetzt. Wichtiger Wunsch des Kunden war dabei, dass die extra für den Kunden entworfene Hausschrift Verwendung in der Webseite findet. Und das nicht zu knapp: Überschriften und vorallem das Menü sollte in der Schriftart “RKM Headline” ausgegeben werden.

Um TrueType/OpenType Schriften in eine Webseite zu integrieren, gibt es verschiedene Möglichkeiten. Einmal wäre da sIFR, was ich aber nicht verwenden wollte, da ich Flash eher mit Abneigung gegenüberstehe und es zudem Probleme mit AdBlockern geben kann. Die nächste Möglichkeit wäre gewesen, es mit CSS3 zu lösen, was aber ebenfalls ausschied, da dies von zu wenig Browsern unterstützt wird.

Nach ein wenig Recherche fand ich allerdings eine mir zusagende Lösung: typeface.js – ein kleines JavaScript, dass mittels SVG/VML die als TTF oder OTF gelieferte Schriftart im Browser verfügbar macht. Weiterlesen…

Tab-Menüs mit Prototype generalisieren

Fr 27 Nov. 09 # Permalink

Wer kennt es nicht: Mehrere Datentabellen oder -abschnitte auf einer Seite und der Benutzer verliert schnell den Überblick. Die Lösung: Ein wenig JavaScript, mit ein wenig CSS und ein paar DIVs garniert, das ganze kräftig durchkneten und fertig ist der Tabbed-Content für jeden Einsatzzweck. Weiterlesen…