tutorials.de Buch-Aktion 05/2012
  • Webmaster & Internet

    Webmaster & Internet
  • Webmaster & Internet RSS-Feed

    von SirToby Veröffentlicht: 26.01.04 23:31   
    Seitenaufrufe: 428 
    Relativ einfach, wie ich auf diese Idee gekommen bin...

    Ein Freund von mir brauchte ein Skript, dass es ihm ermöglichte, möglichst viele Dokumente ohne viel Aufwand als gesteuertes PopUp auf seiner Website präsentieren zu können.
    von SirToby Veröffentlicht: 26.01.04 02:02   
    Seitenaufrufe: 1139 
    Hallo!

    In diesem kleinen Tutorial soll es darum gehen, mit Hilfe eines kleinen Tricks, Tabellenzellen einen Scrollbalken zu geben.
    Das ist vor allem interessant für Designer, die ihre Internetsite nicht mehr auf Basis von Framesets erstellen wollen, sondern ganz und gar auf Tabellen setzen.
    von Matthias Kannengiesser Veröffentlicht: 01.10.03 11:24
    Seitenaufrufe: 224 
    Hi Folks,

    Hier habe ich ein Flash Crypto Packet für euch. Die Verschlüsselungen basieren auf:


    MD4
    MD5
    SHA-1


    Wobei MD4 und MD5 auf 128-Bit basieren und SHA-1 auf 160-Bit.

    MD5 in Flash
    PHP-Code:
    /*
     * MD5 Algorithm
     * A Flash implementation of the RSA Data Security, Inc. MD5 Message
     * Digest Algorithm, as defined in RFC 1321.
     * Flash Version 1.0 - added and tested by Matthias Kannengiesser 2003.
     * Original JavaScript Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
     * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
     * Distributed under the BSD License 
     */

    /*
     * Konfigurations Variablen
     * Diese legen die Einstellungen so fest, dass sie mit der Serverseite
     * kompatibel sind. Die Standardeinstellungen sollten jedoch einwandfrei
     * arbeiten.
    */
    var hexcase 0;  // Hex Ausgabe-Format: 0 - klein Buchstaben; 1 - gross Buchstaben   
    var b64pad  ""// Base-64. "=" für strikte RFC Übereinstimmung   
    var chrsz   8;  // Bits pro Zeichen: 8 - ASCII; 16 - Unicode  

    /*
     * Die Funktionen zur Verschlüsselung
    */
    function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length chrsz));}
    function 
    b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length chrsz));}
    function 
    str_md5(s){ return binl2str(core_md5(str2binl(s), s.length chrsz));}
    function 
    hex_hmac_md5(keydata) { return binl2hex(core_hmac_md5(keydata)); }
    function 
    b64_hmac_md5(keydata) { return binl2b64(core_hmac_md5(keydata)); }
    function 
    str_hmac_md5(keydata) { return binl2str(core_hmac_md5(keydata)); }

    // Verwenden
    /*
    trace(hex_md5("matze"));
    trace(b64_md5("matze"));
    trace(str_md5("matze"));
    trace("------------------------");
    trace(hex_hmac_md5("passwort","matze"));
    trace(b64_hmac_md5("passwort","matze"));
    trace(str_hmac_md5("passwort","matze"));
    */

    function md5_vm_test()
    {
      return 
    hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72";
    }

    function 
    core_md5(xlen)

      
    x[len >> 5] |= 0x80 << ((len) % 32);
      
    x[(((len 64) >>> 9) << 4) + 14] = len;
      
      var 
    =  1732584193;
      var 
    = -271733879;
      var 
    = -1732584194;
      var 
    =  271733878;

      for(var 
    0x.length+= 16)
      {
        var 
    olda a;
        var 
    oldb b;
        var 
    oldc c;
        var 
    oldd d;
     
        
    md5_ff(abcdx[i0], , -680876936);
        
    md5_ff(dabcx[i1], 12, -389564586);
        
    md5_ff(cdabx[i2], 17,  606105819);
        
    md5_ff(bcdax[i3], 22, -1044525330);
        
    md5_ff(abcdx[i4], , -176418897);
        
    md5_ff(dabcx[i5], 12,  1200080426);
        
    md5_ff(cdabx[i6], 17, -1473231341);
        
    md5_ff(bcdax[i7], 22, -45705983);
        
    md5_ff(abcdx[i8], ,  1770035416);
        
    md5_ff(dabcx[i9], 12, -1958414417);
        
    md5_ff(cdabx[i+10], 17, -42063);
        
    md5_ff(bcdax[i+11], 22, -1990404162);
        
    md5_ff(abcdx[i+12], ,  1804603682);
        
    md5_ff(dabcx[i+13], 12, -40341101);
        
    md5_ff(cdabx[i+14], 17, -1502002290);
        
    md5_ff(bcdax[i+15], 22,  1236535329);

        
    md5_gg(abcdx[i1], , -165796510);
        
    md5_gg(dabcx[i6], , -1069501632);
        
    md5_gg(cdabx[i+11], 14,  643717713);
        
    md5_gg(bcdax[i0], 20, -373897302);
        
    md5_gg(abcdx[i5], , -701558691);
        
    md5_gg(dabcx[i+10], ,  38016083);
        
    md5_gg(cdabx[i+15], 14, -660478335);
        
    md5_gg(bcdax[i4], 20, -405537848);
        
    md5_gg(abcdx[i9], ,  568446438);
        
    md5_gg(dabcx[i+14], , -1019803690);
        
    md5_gg(cdabx[i3], 14, -187363961);
        
    md5_gg(bcdax[i8], 20,  1163531501);
        
    md5_gg(abcdx[i+13], , -1444681467);
        
    md5_gg(dabcx[i2], , -51403784);
        
    md5_gg(cdabx[i7], 14,  1735328473);
        
    md5_gg(bcdax[i+12], 20, -1926607734);

        
    md5_hh(abcdx[i5], , -378558);
        
    md5_hh(dabcx[i8], 11, -2022574463);
        
    md5_hh(cdabx[i+11], 16,  1839030562);
        
    md5_hh(bcdax[i+14], 23, -35309556);
        
    md5_hh(abcdx[i1], , -1530992060);
        
    md5_hh(dabcx[i4], 11,  1272893353);
        
    md5_hh(cdabx[i7], 16, -155497632);
        
    md5_hh(bcdax[i+10], 23, -1094730640);
        
    md5_hh(abcdx[i+13], ,  681279174);
        
    md5_hh(dabcx[i0], 11, -358537222);
        
    md5_hh(cdabx[i3], 16, -722521979);
        
    md5_hh(bcdax[i6], 23,  76029189);
        
    md5_hh(abcdx[i9], , -640364487);
        
    md5_hh(dabcx[i+12], 11, -421815835);
        
    md5_hh(cdabx[i+15], 16,  530742520);
        
    md5_hh(bcdax[i2], 23, -995338651);

        
    md5_ii(abcdx[i0], , -198630844);
        
    md5_ii(dabcx[i7], 10,  1126891415);
        
    md5_ii(cdabx[i+14], 15, -1416354905);
        
    md5_ii(bcdax[i5], 21, -57434055);
        
    md5_ii(abcdx[i+12], ,  1700485571);
        
    md5_ii(dabcx[i3], 10, -1894986606);
        
    md5_ii(cdabx[i+10], 15, -1051523);
        
    md5_ii(bcdax[i1], 21, -2054922799);
        
    md5_ii(abcdx[i8], ,  1873313359);
        
    md5_ii(dabcx[i+15], 10, -30611744);
        
    md5_ii(cdabx[i6], 15, -1560198380);
        
    md5_ii(bcdax[i+13], 21,  1309151649);
        
    md5_ii(abcdx[i4], , -145523070);
        
    md5_ii(dabcx[i+11], 10, -1120210379);
        
    md5_ii(cdabx[i2], 15,  718787259);
        
    md5_ii(bcdax[i9], 21, -343485551);

        
    safe_add(aolda);
        
    safe_add(boldb);
        
    safe_add(coldc);
        
    safe_add(doldd);
      }
      return Array(
    abcd);
      
    }

    function 
    md5_cmn(qabxst)
    {
      return 
    safe_add(bit_rol(safe_add(safe_add(aq), safe_add(xt)), s),b);
    }
    function 
    md5_ff(abcdxst)
    {
      return 
    md5_cmn((c) | ((~b) & d), abxst);
    }
    function 
    md5_gg(abcdxst)
    {
      return 
    md5_cmn((d) | (& (~d)), abxst);
    }
    function 
    md5_hh(abcdxst)
    {
      return 
    md5_cmn(dabxst);
    }
    function 
    md5_ii(abcdxst)
    {
      return 
    md5_cmn(^ (| (~d)), abxst);
    }

    function 
    core_hmac_md5(keydata)
    {
      var 
    bkey str2binl(key);
      if(
    bkey.length 16bkey core_md5(bkeykey.length chrsz);

      var 
    ipad = Array(16), opad = Array(16);
      for(var 
    016i++) 
      {
        
    ipad[i] = bkey[i] ^ 0x36363636;
        
    opad[i] = bkey[i] ^ 0x5C5C5C5C;
      }

      var 
    hash core_md5(ipad.concat(str2binl(data)), 512 data.length chrsz);
      return 
    core_md5(opad.concat(hash), 512 128);
    }

    function 
    safe_add(xy)
    {
      var 
    lsw = (0xFFFF) + (0xFFFF);
      var 
    msw = (>> 16) + (>> 16) + (lsw >> 16);
      return (
    msw << 16) | (lsw 0xFFFF);
    }

    function 
    bit_rol(numcnt)
    {
      return (
    num << cnt) | (num >>> (32 cnt));
    }

    function 
    str2binl(str)
    {
      var 
    bin = Array();
      var 
    mask = (<< chrsz) - 1;
      for(var 
    0str.length chrsz+= chrsz)
        
    bin[i>>5] |= (str.charCodeAt(chrsz) & mask) << (i%32);
      return 
    bin;
    }

    function 
    binl2str(bin)
    {
      var 
    str "";
      var 
    mask = (<< chrsz) - 1;
      for(var 
    0bin.length 32+= chrsz)
        
    str += String.fromCharCode((bin[i>>5] >>> (32)) & mask);
      return 
    str;
    }

    function 
    binl2hex(binarray)
    {
      var 
    hex_tab hexcase "0123456789ABCDEF" "0123456789abcdef";
      var 
    str "";
      for(var 
    0binarray.length 4i++)
      {
        
    str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
               
    hex_tab.charAt((binarray[i>>2] >> ((i%4)*8  )) & 0xF);
      }
      return 
    str;
    }

    function 
    binl2b64(binarray)
    {
      var 
    tab "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
      var 
    str "";
      for(var 
    0binarray.length 4+= 3)
      {
        var 
    triplet = (((binarray[i   >> 2] >> * ( i   %4)) & 0xFF) << 16)
                    | (((
    binarray[i+>> 2] >> * ((i+1)%4)) & 0xFF) << )
                    |  ((
    binarray[i+>> 2] >> * ((i+2)%4)) & 0xFF);
        for(var 
    04j++)
        {
          if(
    binarray.length 32str += b64pad;
          else 
    str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);
        }
      }
      return 
    str;

    Achtung
    Ohne Kenntnisse über Bitwise-Operatoren läuft nichts!

    Hinweis
    Urheber des ganzen auf JavaScript Basis ist Paul Johnston.
    Die MD4 und SHA-1 Version findet Ihr im Attachment.

    Wünsche viel Spass damit!

    Liebe Grüsse
    Matze K.
    von Matthias Kannengiesser Veröffentlicht: 01.10.03 11:24
    Seitenaufrufe: 1041 
    Der Einsatz von externen Daten in Flash-Projekten ist kaum noch zu vermeiden. Oftmals kommen noch Datenbanken samt serverseitiger PHP-Skripte zum Einsatz. Damit bei der Formatierung keine unliebsamen Überraschungen auftauchen sollte man sich fünf Minuten Zeit nehmen und sich den unten aufgeführten PHP-Funktionen u. Flash-Methoden zu wenden.

    Zeichen aus Texten entfernen
    Um bestimmte Zeichen aus externen Texten zu entfernen stehen in PHP einige nützliche Funktionen zur Verfügung. Die Funktion die sicher recht eindeutig in Ihrer Funktion ist ist str_replace() und soll hier vorgestellt werden.

    PHP und Steuerungszeichen, wie Zeilenumbrüche entfernen

    Um beispielsweise Steuerungszeichen, wie Zeilenumbrüche aus einem Text zu entfernen wird noch die PHP Funktion chr() benötigt.

    PHP-Code:
    chr(10) - neue Zeile (line feed)
    chr(13) - wagenrücklauf (carriage return) 
    Ihr könnt mit Hilfe der PHP Funktionen str_replace() und chr() die Steuerzeichen 10 u. 13 entfernen.

    Bsp.:
    PHP-Code:
    $inhalt str_replace (chr(10), ""$inhalt);
    $inhalt str_replace (chr(13), ""$inhalt); 
    Hinweis
    Natürlich können auch sämtliche andere Zeichen aus dem Text entfernt werden. Die beiden Funktion sind nicht nur auf Steuerzeichen beschränkt. Für diejenigen, die noch etwas tiefer in die Materie vorstossen wollen und sich auch vor regulären Ausdrücken nicht fürchten, seien folgende PHP Funktionen empfohlen - ereg_replace() u/o. preg_replace().

    Flash und Steuerungszeichen, wie Zeilenumbrüche entfernen
    Natürlich kann man diese Steuerungszeichen auch mit Hilfe von Flash entfernen. Hierbei sind die Flash-Methoden split() und join() behilflich.

    Escape-Sequenzen
    Zusätzlich kommen die sog. Escape-Sequenzen zum Einsatz, wie \n, \r, \t, etc. mit deren Hilfe lassen sich die Steuerungszeichen entfernen, da die Escape-Sequenzen selbst nichts anderes darstellen als entsprechende Steuerungszeichen, wie z.B. \n (neue Zeile).

    Bsp.:
    PHP-Code:
    // Steuerzeichen entfernen
    inhalt "Hallo\nDu da\rhey";
    inhalt=inhalt.split("\n").join("")
    inhalt=inhalt.split("\r").join("");
    trace(inhalt); 
    Bsp.:
    PHP-Code:
    // In einer Zeile
    inhalt "Hallo\nDu da\rhey";
    inhalt=inhalt.split("\n").join("").split("\r").join();
    trace(inhalt); 
    Hinweis
    Die Variable inhalt steht hier stellvertretend für die eingelesenen externen Texte.

    Zusatz zu PHP
    Sollte man PHP einsetzen kann man folgende PHP Methode verwenden: nl2br(). Mit Hilfe von nl2br() werden vor sämtlichen Zeilenumbrüchen eines Strings HTML-Zeilenumbrüche eingesetzt. So lassen sich Zeilenumbrüche in dynamische HTML-Textfelder gezielt platzieren und auch darstellen.

    Bsp.:
    PHP-Code:
    $inhalt nl2br($inhalt); 
    Viel Erfolg!

    Liebe Grüsse
    Matze K.
    von Veröffentlicht: 19.06.03 01:58
    Seitenaufrufe: 1945 
    Links mit CSS wie professionelle Buttons aussehen lassen.

    Ein Navigationsmenü nur mit Hyperlinks erstellen und diese Links trotzdem wie professionelle Buttons aussehen lassen? Kein Problem mit ein bisschen CSS, denn solcherart aufgepeppte Hyperlinks präsentieren sich optisch so elegant wie mit Hilfe von Java Script wechselnde Button-Images.
    von Sebastian Wramba Veröffentlicht: 12.06.03 00:40   
    Seitenaufrufe: 870 
    Weiß nicht, ob man das so nennen kann, aber ich tu's einfach. :P

    Also das funktioniert so: Man klickt auf
    von Martin Schaefer Veröffentlicht: 19.12.02 23:58
    Seitenaufrufe: 1330 
    An dieser Stelle mal ein wirklich guter Tipp betr. Links zu PDF-Dateien in HTML-Seiten.

    Einfacher Link nach
    von Christoph Veröffentlicht: 09.10.02 00:43   
    Seitenaufrufe: 881 
    von Matthias Reitinger Veröffentlicht: 04.10.02 00:45   
    Seitenaufrufe: 1498 
    0. Vorwort

    vielleicht habt ihr es ja schon mal z.B. im vBulletin 3 gesehen: Scheinbar normale Standard-Textareas, deren Inhalt sich beim Betätigen bestimmter Buttons plötzlich frei in Schriftart, -größe, -farbe, -hervorhebung etc. formatieren lassen. Wenn ihr euch dabei gedacht habt: "Geil, sowas brauch ich auch!", dann seid ihr hier richtig
    von Christoph Veröffentlicht: 17.08.02 00:48   
    Seitenaufrufe: 807 
    Browsererkennung und Weiterleitung auf 2 Möglichkeiten

    Ich möchte kurz aufzeigen wie man mögliche Inkompatibilitätsprobleme vorbeugt.
    von Tob Veröffentlicht: 29.07.02 01:31
    Zufallszahlen zwischen 0 und 42:

    Ok eine Zufallszahl zu generieren ist nichts besonderes da von JavaScript
    von Veröffentlicht: 23.05.02 01:37
    Thema: Formulare - mit JavaScript überprüfen, mit PHP versenden
    ===============================================================
    von Christoph Veröffentlicht: 13.05.02 01:41   
    Seitenaufrufe: 560 
    hallo leute.

    ich hab mir gedacht ich poste mal ein paar Formular-Tricks die ich im Berufsleben oft (sehr oft, vielleicht sogar viel zu oft) brauche.
    von effe Veröffentlicht: 10.04.02 01:48
    Seitenaufrufe: 868 
    Hiermit erzeugt man einen Link, der beim Draufzeigen blinkend unterstrichen wird.
    von Veröffentlicht: 01.10.01 22:00   
    Seitenaufrufe: 471 
    Mit folgendem Java Script lässt sich leicht ein zufällig ausgewähltes Bild anzeigen:
    von Veröffentlicht: 19.09.01 23:54   
    Seitenaufrufe: 758 
    Um User je nach ihrem Browser auf eine bestimme Datei/Dir umzuleiten packt einfach folgendes JavaScript in den Head Abschnitt (das ist der Bereich der Datei der zwischen <HEAD> und </HEAD> zu finden ist)
    von Veröffentlicht: 19.09.01 23:45   
    Seitenaufrufe: 628 
    Das Fading von Images das oft gesehen wird in Verbindung mit Linkbuttons ist ein recht einfaches JavaScript das sich die Microsoft Filter zu Nutzen macht.
    von Veröffentlicht: 19.09.01 22:51   
    Seitenaufrufe: 593 
    Um User umzuleiten in Abhängigkeit von ihrer Bildschirm auflösung einfach in die Datei von der aus umgeleitet werden soll

    Seite 6 von 6 ErsteErste ... 3456