Wir sammeln alle Infos der Bonusepisode von Pokémon Karmesin und Purpur für euch!

Zu der Infoseite von „Die Mo-Mo-Manie“
  • In diesem Thema landen alle Scripte oder Programme welche nützlich sein können aber nicht den Wert eines Tutorials haben. Diskussionen zu den Scripten sind hier nicht gewünscht, Anregungen sollten an den Ersteller per PN gesendet werden. Sofern ein Code einen groben Fehler enthält könnt ihr euch auch in die Bereichsmoderation wenden, damit dieser entfernt wird.

  • PHP
    <?php
    $value = 'MeinPasswort';
    $salt = md5(rand());
    $saltedHash = sha1($value.$salt);


    Das Salted Hashing stellt eine effektive Methode dar um Rainbow-Tables unwirksam zu machen. Anstatt den Hash eines Passworts direkt in der Datenbank zu speichern wird dieser vorher mit einer zufälligen Zeichenkette versalzen, das sorgt dafür, dass der Hash einzigartiger wird. Der Aufwand für den Angreifer steigt dabei enorm.
    Der Salt sollte pro Datensatz unterschiedlich sein und muss jeweils mitgespeichert werden. Beim Prüfen des Passworts wird jetzt einfach der Hash aus der Datenbank genommen und mit der gleichen Methode verarbeitet.

  • PHP
    <?php$zahl = 3 #Die anzahl der Bilder hier angeben for($count = 1; $count <= $zahl; $count++)  { $bildernamen = array("bild1.png", "bild2.gif", "http://SERVER.tld/bild3.jpg", "bild4.png"); #weitere bilder mit , "name" anhängen$zufall = array_rand($bildernamen); #array_rand() wählt ein zufälliges Element aus einem Array aus.echo '<img src="'.$bildernamen[$zufall].'">'; #Ausgabe des Bildes } ?>


    Bei dem Obigen Script können sich Bilder doppeln, dies kann man mit dem Script unterhalb verhinden

  • Naja,
    Mit Diesem Script wird die Jahreszeit angezeigt:


    Ausgabe: Herbst.

  • Bei diesem Skript bekommt man Datum, Zeit vom Aufschlagen der Seite und eine passende Begrüßung xD



    Müsste funktionieren :D

  • Der % Operator arbeitet mit zwei Zahlen, a%b, und gibt den Rest von a/b zurück (modulo), z.B. 2%4 = 2, 4%4 = 0 und 5%4 = 1. Diese Operation verwendet Division, deshalb ist sie relativ langsam. Wenn möglich sollte man versuchen Multiplikationen zu verwenden, da dese imer schneller sind.
    In bestimmten Situationen kann man Binär-Operationen (welche schneller sind) nutzen, die einzige Bedingung ist, das b (von a%b) zur Basis 2 dargestellt werden kann, also z.B. x%2 (2^1 = 2), x%4 (2² = 4), x%8 (2³ = 8), usw... Das einzige was man anpassen muss, wenn man & verwendet, ist dass man anstatt ‘b’, ‘b-1’ setzt.


    Zum Beispiel:

    Code
    x%2;   ->   x&1;
    x%16;  ->   x&15;


    Der &-Operator vergleicht beide Zahlen bitweise, und zwar so: ist der bit in der ersten Zahl 1 und der entsprechende Bit in der zweiten Zahl auch, so wird der resultierende Bit auch 1. In jedem anderen Fall wird er 0.
    Ich hoffe, das war lehrich genug für heute.
    Chris

    mummy mummy as you lie the dark man comes and makes you die
    my daddy's hands are red with guilt because he killed the life we built
    -
    bianco angelo

  • Ich habe hier einen kleinen, einfachen C++ Skript :)



    Wer einen Compiler hat, wird auch wissen was er mit dem Code und dem Compiler anstellen sollte damit er/sie das Programm benutzen kann xD

  • So wolte noch mal nen Schnipsle hier lassen. Diesmal getestet und er funkt.
    rechner.php


    wichtig ihr müsst es als php Datai abspeicher und ihn rechner.php nennen. Sons müstet ihr im der 2 zeile anstadt rechner.php schreiben wie ihr ihn gennant habt also so: name.php. Hoffe es gefäld euch. mit dem Code kann man z.B ausrechen wie viel taschen Geld mann noch hat wen man das ausgibt. naja brobiert es einfach mal aus.

  • Und auch das gibt es bereits besser ausgearbeitet und ohne Rechtschreibfehler: http://www.bisaboard.de/index.…ge=Thread&threadID=101599
    Warum musst du hier zu jedem Kapitel ein unnützes Schnipsel posten?


    e.: und das mit dem Komma stimmt auch nicht, das funktioinert mit nem Komma auch

  • Ich hab mal einen Taschenrechner mit c++ gemacht. Er kann ohne grafische Oberfläche Adiition, Subtraktio, Multiplikation und Divivsion. Mit mehreren Nachkommastellen!


    One day | I won't take this anymore | One Day
    I'll be old enough
    To do what I want to
    And I won't have to run away
    And you won't be there to say I'm not allowed to | One day

    6 Mal editiert, zuletzt von Nibel ()

  • Ich weiß, dass es auch anders geht, doch ich habs einfach mal so gemacht ^^


    Gruß


    Meta :ugly:

  • Hab mal wieder was neues, recht interessantes. Habs letzte Nacht eigentlich für jemand in der WCom geschrieben, aber ich will 's euch nicht vorenthalten ^^
    Hier erstmal der Code:


    Gehen wir es Schritt für Schritt durch:
    Zuerst einmal kommen die Komentare. Dort ist für eine schnelle Übersicht notiert, was die Funktion macht, welchen Parameter-Typ sie erwartet und welchen Variablen-Typ der return-Wert hat.
    Erstmal was die Function eigentlich macht: Das ist ein Zufallsgenerator, der einem ein Array mit Zufallszahlen zurückliefert. Dieses Array enthält so viele Zahlen wie var count. Dabei wird darauf geachtet, dass eine Zahl nicht mehrmals vorkommen darf. Kurz gesagt also: Ziehen ohne Zurücklegen. Es muss auch noch ein Zahlen-Bereich festgelegt werden, wobei var end natürlich größer als var start sein muss.
    Dann werden die nötigen Arbeitsvariablen deklariert. Interessant wird es ab var isElement. Hier wird eine Function mit der Sichtbarkeit private erstellt. Private deshalb, weil sie von außen nicht aufrufbar sein soll, was sonst theoretisch möglich wäre.
    isElement() prüft, ob der Wert von value einem der Werte im übergebenen Array entspricht. Falls ja, gibt die Function true zurück und die Schleife wird beendet. Falls value keinem der Array-Werte entspricht, wird false zurückgegeben.
    Dann zur eigentlichen Zufallsfunktion. Diese nimmt den Start und Endwert entgegen. Dann wird ein entsprechender Zufallswert zurückgegeben. Wie der berechnet wird hat mehr mit Mathematik als mit JavaScript zu tun, deswegen spar ich mir das Erklären. Den Algorithmus musste ich btw selbst entwickeln, da es wirklich nirgends im Inet steht, wie man in JavaScript ne Zufallszahl zwischen zwei Zahlen berechnet.
    So, in der nun folgenden Schleife wird zuerst eine Zufallszahl bestimmt, die dann dem Zahlen-Array numbers zugewiesen wird, falls diese nicht schon enthalten ist. Hier kommt also isElement() zum Einsatz. Als Index für das Array wird immer die aktuelle Länge genommen, da JavaScript Arrays, anders als PHP, nicht automatisch iterieren (hochzählen) kann. Dann wird noch der Schleifendurchlaufswert count runtergezählt.
    Als letztes wird dann das Array mit den Zufallszahlen zurückgegeben.


    So, vielleicht braucht man das nicht soo häufig, aber es ist imo recht guter JavaScript-Code. Was man btw an meinem Script noch verbessern kann: Fehler abfangen. Etwa wenn der Startwert größer als der Endwert ist.

  • Soa, ich habe mal ein "kleines" Passwortscript geschrieben, welches beim aufrufen einer Seite ein zufälligen Hash mit zufälligem Wert erzeugt.

  • Man kann übrigens das kaufmännische Und (&) auch dafür einsetzen, um 2 Variablen miteinander zu verknüpfen.
    Das erspart einem etwas Schreibarbeit:

    PHP
    <?php
    $var1=10;
    $var2=&$var1;
    echo $var2.'<br />';
    $var1++;
    echo $var2;
    ?>


    Man muss nur $var1 erhöhen, um das gewünschte Ergebnis

    Zitat


    10
    11


    Zu erhalten.
    Kann bei Formularen hin und wieder ganz sinnvoll werden.
    Gruß
    Meta

  • Dieses Codeschnibsel schaut nach welche Versionnummer höher ist und gibt diese aus:

    PHP
    <?phpfunction version($first, $second) {#wir nehmen an $first wäre 1.0.1 b1#wir nehmen an $second wäre 1.0.1$first = str_replace(' ', '', $first); # leerzeichen entfernen $first = 1.0.1b1$second = str_replace(' ', '', $second); # leerzeichen entfernen $second = 1.0.1$first = str_ireplace(array('a', 'b', 'rc', 'pl'), array('.1.','.2.','.3.','.5.'), $first); #codewörter durch zahlenwerte $first = 1.0.1.2.1$second = str_ireplace(array('a', 'b', 'rc', 'pl'), array('.1.','.2.','.3.','.5.'), $second); #codewörter durch zahlenwerte $second = 1.0.1$first = explode('.', $first); #array erstellen $first = array(1,0,1,2,1);$second = explode('.', $second);#array erstellen $second = array(1,0,1);if(!isset($first[3])) $first[3] = 4; #wenn kein codewort 4. stelle ergänzen  $first = array(1,0,1,2,1);if(!isset($second[3])) $second[3] = 4; #wenn kein codewort 4. stelle ergänzen $second = array(1,0,1,4);print_r($first);print_r($second);if($first[0] < $second[0]) $return = $second; #vergleiche von links nach rechtselseif($first[0] > $second[0]) $return = $first;elseif($first[1] < $second[1]) $return = $second;elseif($first[1] > $second[1]) $return = $first;elseif($first[2] < $second[2]) $return = $second;elseif($first[2] > $second[2]) $return = $first;elseif($first[3] < $second[3]) $return = $second; #second hat die höhere zahl überprüfung wird beendetelseif($first[3] > $second[3]) $return = $first;elseif($first[4] < $second[4]) $return = $second;elseif($first[4] > $second[4]) $return = $first;else $return = $first;if($return[3] == 1) $return[3] = 'a';elseif($return[3] == 2) $return[3] = 'b';elseif($return[3] == 3) $return[3] = 'rc';elseif($return[3] == 4) $return[3] = '';elseif($return[3] == 5) $return[3] = 'pl'; #die zahlen wieder in einer string verwandeln$x = $return[0].'.'.$return[1].'.'.$return[2];if(!empty($return[3])) $x .= ' '.$return[3].$return[4];return $x; #rückgabe der höheren version}echo version($_GET['x'],$_GET['y']);?>


    Die Versionsnummer müssen im Format:


    Code
    hauptversion.nebenversion.fehlerversion entwicklung entwicklungsversion


    sein


    1.0.0
    0.5.9 pl 8
    8.9.45 a 3


    Die print_r() und das echo könnt ihr natürlich gerne rausnehmen ;-)

  • Symetrische Verschlüsselung mit PHP:



    Der Output sollte nicht an den Brwoser geschickt sondern per Binärmodus in einer Textdatei oder in der Datenbank gespeichert werden. Der Browser verschluckt nämlich ganz gerne gewisse Zeichen.



    DIESE VERSCHLÜSSELUNG IST NICHT DIE SICHERSTE, KEINE GEWÄHR!

  • Falls man seine Webseite mit lauter Ordnern und Unterordern mit (nur) je einer index.php darin aufgebaut hat, dann hat man hiermit die Möglichkeit auf eine "Sie sind hier"-Funktion:

  • Langeweile :D

  • formatiert einen Timestamp im Format "dddd den dd. mmmm yyyy, hh:ss".
    Wenn der timestamp dem heutigem Tag entspricht, wird "<strong>Heute</strong>, hh:ss" ausgegeben..


    $prefix kann zB "am " enthalten.. damit wird zB das ausgegeben:
    gepostet am Donnerstag den 27. August 2009, 20:03 Uhr
    gepostet Heute, 20:03 Uhr
    (jeweils die Ausgaben der Funktion hervorgehoben)


    :thumbsup:

    Yeah, hatte grade meinen 256. Beitrag :D Beim 512. wird dann aber richtig gefeiert :D

    2 Mal editiert, zuletzt von Chris! ()