Kategorien

Ich im Web

New Tag Cloud 1

acid2 (1) active sync (1) adobe air (1) alterskontrolle (1) amerika (1) apache (3) aplle (1) arcor (4) ask.com (1) atari (1) axxium (2) backtrack (3) backup (1) be-quiet (1) besichtigungstermin (1) bilder (2) bill gates (1) blasc (1) blender (1) bliss (2) blog (1) bookmarks (1) bootloader (1) british telecom (1) buffed (1) bundeskanzler (1) bundesregierung (1) c++ (1) c64 (1) capi (1) cisco (1) commodre (1) cooling (2) css (1) datenbank (1) datenschutz (1) dbox (1) death adder (1) del.icio.us (1) desktop search (1) die bahn (1) domain controller (1) dsl (2) eier (1) ekg (1) enterasys (1) erotik (1) essen (2) evag (1) facebook (2) feedburner (1) feeds (1) finanzamt (1) firebug (1) firefox (6) flash (1) flickr (2) foxmarks (1) frankfurt (1) freakiest.de (1) fritzbox (1) fun (2) games (1) gesundheit (2) google (2) google analytics (10) google calendar (1) google desktop (1) google earth (4) google mail (4) google reader (6) google reader notifier (1) gpo (1) gpt (1) gruga (1) grundgesetzt (1) h.323 (1) heimnetzgruppe (1) heißluftballon (1) hipath (5) ibm (1) ifilter (1) iis (2) internet explorer (6) ipx (1) isa (1) isdn (1) ista (12) jaiku (1) jeff dunham (1) k770i (1) k850i (1) karnvel (1) kommentar (1) köln (1) küche (1) kühlschrank (1) kündigung (1) lightning (2) logitech (1) logo (1) mail (1) maildrop (1) markler (1) mbr (1) mcdonalds (1) media player (1) meinvz (3) messe essen (1) microblogging (3) microsoft (6) mieten (1) minimizetotray (1) monitoring (1) montgolfiade (1) mpe (3) ms office (1) mssql (1) münster (2) n6600gt (2) nasa (1) navision (1) nes (1) netcraft (1) netzteil (1) new tag cloud (17) next4u.de (3) nintendo (1) nostalgie (1) npd (1) nvidia (1) nürnberg (1) o'reilly (1) openid (1) openoffice (1) opensearch (1) opensuse (1) panoramio (1) parlament (1) pc (1) petition (1) photosynth (2) php (1) picasa (2) plugin (6) politik (4) post (1) postfix (1) powershell (3) pownce (4) preis (1) premiere (1) quickcam (1) razor (1) rdp (1) re:publica (1) readware (1) recensio.org (1) regierung (1) rss (2) saturn (1) second life (3) security (2) sensorlock (2) server (1) servicepack (1) siemens (6) sim (7) simulator (1) snes (1) snmp (2) society (1) sony ericsson (4) sp2 (1) spam (2) speed (1) spülmaschine (1) ssl (4) stayfriends (1) steve ballmer (1) streik (2) t3n (1) tacra 8100 (1) tagging (2) teamspeak (1) tecra (4) tecra 8100 (1) telekom (2) templates (2) terminal server (1) tf3d (1) themes (2) thunderbird (4) tobi.elements (1) tor (1) torte (1) touchscreen (1) trackback (1) trait (1) triplehead2go (1) tsqlib (1) twitter (2) typo3 (1) u4us (1) umzug (8) update (1) urlaub (1) verdi (1) video (2) virtual pc 2007 (1) virtual server (1) vista (2) vmware (1) vodafone (2) voip (2) vorratsdatenspeicherung (2) voxfax (1) voxtron (1) wallpaper (1) weave (3) web (1) web2.0 (1) webslice (1) werbung (1) wiimote (3) window xp mode (1) windows 7 (11) windows server (2) windows vista (1) windows xp (2) winmote (3) wlan (2) wohung (1) wordpress (20) wotlk (1) wow (7) yac (9) yodm3d (1) youtube (6) zalman (2) zensur (3) 2008 (1)

New yac logo

Von FunnyDingo | 3. August 2009, 16:02

It’s done, we’ve a new logo for yac (see the right corner). It’s very similar to the old one, but the font for the name is new. Much thanks to Lars for doing this work!

Keine Kommentare | Keine Trackbacks

yac Demo Chat wieder online

Von FunnyDingo | 1. Oktober 2008, 00:13

So, nachdem ich gerade den Artikel über den Login Prozess des yac geschrieben habe, habe ich den yac Demo Chat wieder online genommen. Dieses mal ist er auch komplett ins WordPress integriert. Ich habe dafür einen IFrame verwendet. Das ist zwar nicht ganz so schön, aber immer noch besser als über ein Popup.

Keine Kommentare | Keine Trackbacks

Warum soll ein Chat keine Authentifizierung machen?

Von FunnyDingo | 30. September 2008, 22:24

Ich bin gestern gefragt worden: warum macht der yac die Authentifizierung nicht selber? Um diese Frage zu verstehen, erkläre ich erst einmal, wie der Login beim yac funktioniert.

Es fängt alles mit einem einfachen Login-Script an. Ich nehme hier mal ein PHP-Script:

PHP:
  1. $data = get_login_data();
  2. $request = "http://" . SERVER . ":" . PORT . "/login?nick=" . $data['nick'] . "&room=" . $data['room'] . "&color=" . $data['color'] . "&right=" . $data['right'] . "&ip=" . $_SERVER['REMOTE_ADDR'] . "&loginkey=" . LOGINKEY;
  3. $fh = @fopen($request, "r");
  4. if ($fh)
  5. {
  6.     $buffer = "";
  7.     while (!feof($fh))
  8.         $buffer .= fgets($fh, 512);
  9.     fclose($fh);
  10.     $buffer = ltrim($buffer);
  11.     if (substr($buffer, 0, 6)) == "ERROR:")
  12.         die("Fehler beim Login");
  13.     list($yacsid, $iss) = explode("|", $buffer);
  14. }
  15. else
  16.     die("Es konnte keine Verbindung mit dem Chat ergestellt werden, vielleicht ist der Chat offline?");

Zeile 2: get_login_data() ist hier nur ein Beispiel. Hier soll verdeutlich werden, dass es völlig egal ist, von wo die Daten kommen, wichtig ist nur, dass der Request-String zusammen gebaut werden kann.
Zeile 3: Und genau das passiert hier. Der Request-String enthält alle nötigen Daten wie Nick, Raum, Farbe, Rechte und die IP des Clients.
Zeile 4ff: Nun der fopen() + lesen. Der Chat analysiert nun die Parameter des Request-Strings. Ist die Anfrage gültig, wird die yacsid + ISS erzeugt und diese zusammen mit den anderen Daten temporär gespeichert. Die yacsid und der ISS im Format "yacsid|ISS" wird zurück gegeben und steht im PHP-Script in $buffer zur Verfügung. Ist die Anfrage ungültig (weil die IP von der die Anfrage kommt keine Zugriffserlaubnis hat oder der LOGINKEY ungültig ist) gibt der Chat "ERROR: " + den Grund zurück.
Zeile 11: Prüfen wir noch schnell, ob der Chat einen Fehler gemeldet hat.
Zeile 13: Kein Fehler. Wir splitten die Ausgabe noch in $yacsid und $iss auf.

Bisher haben wir aber noch keinen echten Login, sondern nur die Login-Anfrage. Dies erfolgt mit dem IFrame:

PHP:
  1. <html>
  2. <head>
  3.     <title>yac</title>
  4. </head>
  5. <frameset rows="*, 50" frameborder="0" framespacing="0">
  6.     <frame name="output" src="http://<?php echo(SERVER) ?>:<?php echo(PORT) ?>/out?yacsid=<?php echo($yacsid); ?>" scrolling="auto" noresize frameborder="0" framespacing="0">
  7.     <frame name="input" src="http://<?php echo(URL_ZUR_INPUT_PHP) ?>?yacsid=<?php echo($yacsid); ?>;&iss=<?php echo($iss) ?>" scrolling="no" noresize frameborder="0" framespacing="0">
  8. </frameset>
  9. </html>

Zeile 6: Hier folgt der Aufruf des Output-Streams des Chats. Genau hier wird von dem Chat die temporär gespeicherte Login-Anfrage zu einem echten Login.
Zeile 7: Hier wird noch eine input.php aufgerufen.

input.php

PHP:
  1. <html>
  2. <script language="JavaScript"
  3.     function clearForm()
  4.     {
  5.         document.chatinput.msg.select();
  6.         document.chatinput.msg.focus();
  7.     }
  8. </script>
  9. <form name="chatinput" action="http://<?php echo(SERVER) ?>:<?php echo(PORT); ?>/in" method="get" onSubmit="clearForm()">
  10.     <input type="hidden" name="yacsid" value="<?php echo($_GET['cookie']); ?>">
  11.     <input type="hidden" name="iss" value="<?php echo($_GET['iss']); ?>">
  12.     <input type="text" name="msg" size="100">&nbsp;<input type="submit" value="Send">
  13. </form>
  14. </body>
  15. </html>

Warum ist dieses Vorgehen nun besser als bei Chats, die den Login selbst durchführen? Nun ja, ob es wirklich besser ist, will ich nicht behaupt, aber ich finde es macht mehr Sinn. Durch dieses Verfahren bleibt es dem Betreiber völlig offen, wie die Authentifizierung aussehen soll. Beispiel: ich habe für meinen Blog das OpenID-Plugin installiert, so dass man sich mit diesem Authentifizieren kann. Würde der yac die Authentifizierung nun selber machen, könnten sich diese User nicht am yac anmelden (btw: ich sollte den Demo Chat mal wieder zum laufen bringen, damit man genau das sehen kann).

Keine Kommentare | Keine Trackbacks

yac Einsatz

Von FunnyDingo | 11. Mai 2008, 17:36

Nun hatte ich ein wenig Zeit, meine ganzen Emails abzuarbeiten und aufgrund doch recht vieler Nachfragen zum yac, möchte ich ein paar Worte dazu sagen.

Ich bin wirklich sehr erstaunt und erfreut darüber, dass es doch reges Interesse an dieser Chat Engine gibt. Leider muss ich sagen, dass der yac derzeit auf keiner weiteren Site zum Einsatz kommen wird.

Der Grund ist ganz einfach: einige stellen im Code sind noch nicht wirklich ausgereift und ermöglichen es nicht, spezifische Anpassungen vorzunehmen. So sind die verschiedenen Strukturen von CMS, Foren oder Blogs nicht im yac abbildbar.

Aufgrund der geringen Leistungsfähigkeit der aktuellen, auf PHP basierten, Engine, werde ich dort keine Veränderungen zum Customising mehr integrieren. Die Arbeit und die Zeit (vorallendingen die Zeit) werde ich lieber in die neue, in C++ geschriebene, Engine stecken.

Es tut mir wirklich leid euch allen hier eine "Abfuhr" erteilen zu müssen, aber meiner Meinung nach ist das für mich als Entwickler (der sich ja einen gewissen "Ruf" aufbaut) und euch als Anwender (die gerne eine möglichst gut anpassbare Engine wünschen) besser, auf die neue Engine zu warten.

Keine Kommentare | Keine Trackbacks

Kleines yac Update

Von FunnyDingo | 19. Januar 2008, 01:03

Gerade habe ich ein kleines yac Update veröffentlich. Dieses Update löst ein Problem mit bestimmten Formatierungszeichen die zu Problemen in manchen Browsern führen können. Der next4u.de-Chat hat das Bugfix direkt eingespielt bekommen. Nun ist Version 0.9.7 aktuell.

Für alle anderen yac Betreiber steht die aktuelle Version wie immer via SVN zur Verfügung.

Keine Kommentare | Keine Trackbacks

Laufzeit aktueller yac Installationen

Von FunnyDingo | 18. Januar 2008, 23:21

Es sind zwar nicht viele, aber hier ein kleiner Überblick:

next4u.de: 1427h 15m
recensio.org: 632h 10m
funnydingo.de: 1427h 22m

Ich glaube bei recensio.org war der letzte Reboot nur wegen eines Serverumzugs notwenig (oder Bernhard?).

3 Kommentare | 3 Trackbacks

yac Demo Chat wieder online

Von FunnyDingo | 14. November 2007, 16:02

Nach einigen Problemen ist es mir nun endlich gelungen, den yac Demo Chat wieder online zu bekommen. Wer möchte kann ihn also gerne wieder ausprobieren.

1 Kommentare | 1 Trackback

yac Hosting für next4u.de

Von FunnyDingo | 15. September 2007, 11:32

Wie gestern bereits im offiziellen Newsletter zu lesen war, habe ich für next4u.de das Hosting des yac übernommen. Leider gab es auf einem der Server technische Schwierigkeiten mit der PHP Installation, so dass es nicht möglich war den yac dort zu betreiben. Gleichzeitig hat next4u.de auch ein Upgrade auf die aktuellste yac Version bekommen und dabei habe ich einen kleinen Fehler entdeckt (wenn bei dem Login keine Template-ID übergeben wird, wird nicht das Default-Template verwendet).

Eigentlich wollte ich dies gestern direkt nach der Veröffentlichung des Newslettes schreiben, aber den habe ich doch glatt verpasst.

PS: Ich sehe gerade das mein Google Reader Notifier eine ziemlich böse Zahl anzeigt. Ich glaube ich muss bald eine Menge nachlesen.

Keine Kommentare | Keine Trackbacks

Login-Verifizierung für yac

Von FunnyDingo | 3. August 2007, 12:43

Von genuineparts bin ich auf eine kleine Schwäche im yac hingewiesen worden. Bei dem Login-Vorgang prüft der Chat, ob dieser von der freigegebenen IP-Adresse stammt. Sollte dies der Fall sein, wird der Login-Request akzeptiert. Sollte sich die Website auf einem Multi-Host-System befinden, wäre es für die anderen Kunden auf dem System kein großes Problem, einen eigenen Login-Request durchzuführen.

Aus diesem Grund habe ich heute den yac um einen LOGINKEY erweitert. Dies muss bei dem Login-Request mit übertragen werden. Nur wenn die IP und der LOGINKEY übereinstimmen, wird der Request akzeptiert. Dieses Update ist auch Abwärtskompatibel. Wird in der Konfiguration kein LOGINKEY definiert, werden Login-Requests ohne diesen Key angenommen.

Keine Kommentare | Keine Trackbacks