Zum Inhalt springen

oneside

Mitglieder
  • Gesamte Inhalte

    759
  • Benutzer seit

  • Letzter Besuch

Beiträge von oneside

  1. Hallo Leutz,

    gibt es eine Möglichkeit, einen mit Tags formatierten String wie diesen:

    <vartrace><wddxPacket version='1.0'><header><comment>Variables</comment></header><data><struct><var name='vect1'><array length='2'><number>1</number><number>-3</number></array></var><var name='vect2'><null/></var></struct></data></wddxPacket></vartrace>

    über einen Befehl formatiert (eingerückt) auszugeben:

    
    <wddxPacket version='1.0'>
    
        <header comment='Another example' />
    
        <data>
    
          <struct>
    
            <var name='pi'>
    
              <number>3.1415926</number>
    
            </var>
    
            <var name='cities'>
    
              <array length='3'>
    
                <string>Austin</string>
    
                <string>Novato</string>
    
                <string>Seattle</string>
    
              </array>
    
            </var>
    
          </struct>
    
        </data>
    
      </wddxPacket>
    
    

    Danke

    -Oneside-

  2. Hi,

    ich habe mir eine Klasse gebastelt, die einen String per mcrypt verschlüsselt und in einem Cookie ablegt.

    Ich spiel gerade ein wenig mit mcrypt rum, hänge aber irgendwie in der Luft, da die Klasse mal funktioniert und mal wieder nicht...

    Die Klasse vershlüsselt einen String und speicher diesen in einem Cookie über die Methode "set()".

    Über die Methode "Validate()" wird überprüft, ob der verschlüsselte String gleich einem übergebenen ist.

    Ich habe folgende Klasse "class.CookieAuth.php" geschrieben:


    class AuthCookie {

    // Handle für mcrypt
    private $td;

    // Verschlüsselungscode
    static $key = 'Testkey';

    //mcrypt Informationen
    static $cypher = MCRYPT_BLOWFISH;
    static $mode = MCRYPT_MODE_CFB;

    //Informationen zum Cookie
    static $cookiename = 'AUTH';

    public function __construct(){
    $this->td = mcrypt_module_open(self::$cypher,'',self::$mode,'');
    }

    public function set($challengekey){
    setcookie(self::$cookiename,$this->_encrypt($challengekey));
    }

    public function validate($challengekey){

    if (!($_COOKIE[self::$cookiename]) || $_COOKIE[self::$cookiename] == ""){
    echo("Validate fehlgeschlagen, Cookiedaten nicht vorhanden!");
    }
    if ($this->_decrypt($_COOKIE[self::$cookiename]) != $challengekey){
    echo("Validate fehlgeschlagen, Cookiedaten stimmen nicht mit String überein!");
    }

    }

    private function _encrypt($plaintext){
    $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($this->td), MCRYPT_RAND);
    mcrypt_generic_init($this->td, self::$key,$iv);
    $crypttext = mcrypt_generic($this->td,$plaintext);
    mcrypt_generic_deinit($this->td);
    return $iv.$crypttext;
    }

    private function _decrypt($crypttext){
    $ivsize = mcrypt_enc_get_iv_size($this->td);
    $iv = substr($crypttext,0,$ivsize);
    $crypttext = substr($crypttext,$ivsize);
    mcrypt_generic_init($this->td,self::$key,$iv);
    $plaintext = mdecrypt_generic($this->td,$crypttext);
    mcrypt_generic_deinit($this->td);
    return $plaintext;
    }

    function __destruct() {
    mcrypt_module_close($this->td);
    }


    } //Class


    [/PHP]

    Testweise habe ich eine Datei index.php' angelegt, um die Funktion der Klasse mal zu testen:

    [PHP]
    require_once("class.CookieAuth.php");

    //Ein zu verschlüsselnder Teststring
    $challengekey = "XYZ";

    //Neues Objekt anlegen
    $obj_cookie = new AuthCookie();

    //Teststring verschlüsseln und in Cookie speichern
    $obj_cookie->set($challengekey);

    // Objekt löschen
    unset($obj_cookie);

    //++++++++++++++++++++++++++++++++++++++
    // Testvalidierung
    //++++++++++++++++++++++++++++++++++++++

    $obj_cookie = new AuthCookie();

    //Entschlüsseln und vergleichen
    $obj_cookie->validate($challengekey);

    unset($obj_cookie);

    Öffne ich die 'index.php' jetzt im Browser, wird keine Meldung ausgegeben. Lade ich die Seite aber mehrmals hintereinander neu, klappt die Validierung in unregelmäßigen Abständen nicht.

    Dann bekomme ich "Validate fehlgeschlagen, Cookiedaten stimmen nicht mit String überein!" ausgegeben, was bedeutet, dass der in der 'index.php' übergebene '$challengekey' nicht mit dem entschlüsselten String übereinstimmt.

    Wo habe ich einen Fehler in der Klasse? Hab irgendwie gerade einen Hänger und verstehe nicht, wieso es manchmal klappt und manchmal dann eben nicht?

    Ich habe die Klasse schon X mal umgebaut, bekomme aber immer den gleichen Fehler :-(

    Gruß

    Oneside

  3. Ok, habs rausgefunden:

    Der Code wird per Javascript eingebunden:

    <script language="JavaScript" type="text/JavaScript" src="http://www.meineseite.de/include.js"></script>
    In der Inlude.js binde ich folgendes ein:
    document.write('<SCRIPT type="text/javascript" language="JavaScript" src="http://www.meineseite.de/getdata.php"><'+'/SCRIPT>');
    Die getdata.php ermittelt dann über php die Daten und parst diese per Javascript:
    
    <?
    
    $username = "XXXXX";
    
    echo "document.write('".$username."');";
    
    ?>
    
    

  4. Hi Leute...

    bin mir nicht sicher, ob das Thema jetzt mehr zu PHP oder zu Javascript gehört.

    Ich möchte Usern ein Javascrip zur Verfügung stellen, welches diese in Ihre Homepage einbinden können. Das Script soll verschiedene Daten auf der Webseite ausgeben, die mit PHP aus einer DB geladen werden.

    Das ganze sollte dann so einzubinden sein, wie z.B. die Google-AdWords:

    <script type="text/javascript">
    
    <!--
    
    parameter_1 = "XXXXX";
    
    //--></script>
    
    <script type="text/javascript" src="http://www.meineseite.de/showdata.js">
    
    </script>
    Ich habe mal ein wenig rumgespielt und versucht, in "showdata.js" auch PHP einzubinden und die Daten auszugeben, geht aber natürlich nicht. Selbst wenn ich in der Datei "showdata.js" folgendes einbinde:
    document.write('<SCRIPT type="text/javascript" language="JavaScript" src="http://meineseite.de/getdata.php?parameter_1='+parameter_1+'"><'+'/SCRIPT>');

    gehts irgendwie nicht.

    Hat jemand eine Lösungsmöglichkeit oder einen Ansatz?

    Gruß

    Oneside

  5. Dann spart man sich in PHP (und jeder anderen Sprache, die 0 als False und den Rest als true interprtiert) nen bischen arbeit.

    Und wieso dann nicht "C: enum(1,0)"? Wo liegt der Unterschied? Ist es durch ein enum Feld in der Datenbankverwaltung nicht leichter ersichtlich, dass dieses Feld für True oder False benutzt wird?

  6. Hi Leutz,

    wie speichert Ihr Werte true/false oder 1/0 in einer MySQL Datenbank?

    Benutzt Ihr dafür

    A: tinyint(1) für 0=false und 1=true

    B: enum('Y','N')

    C: enum(1,0)

    D: char(1) für 0=false und 1=true

    E: noch andere?

    Eigentlich ist ja enum das richtige Feld dafür, ich sehe aber auch immer wieder andere Varianaten wie z.B. "D: char(1) für 0=false und 1=true"

    Welche Vorteile haben die einzelnen Feldtypen für diese Verwendung und wirkt sich dies auf die Abfrageperformance in irgendeiner Beziehung aus?

    Ich habe bis jetzt immer Variante "B: enum('Y','N')" benutzt.

    Gruß

    Oneside

  7. @~Hawkeye~

    Sehr interessant wie du das machst, einige deiner Methoden verwende ich auch (z.B. die Extensions) und andere wie z.B. den Datentyp im Variablennamen sollte ich mir vielleicht auch noch aneignen.

    Auf sauber eingerückten Code achte ich ebenfalls sehr viel, da dies einfach später einfacher lesbar ist und ich es hasse rumsuchen zu müssen :-)))

    Bei etwas größeren Schleiffen schreibe ich an das Schleifenende auch immer nochmal dran, was da beendet wird z.B. :

    //END While(x==Y)

    , da ich bei langem Quellcode schon mal einige Schleifen und Verschachtelungen haben kann, die dann doch etwas schwerer zu überblicken sind.

  8. Also ich bin extrem exotisch und programmiere PHP aus irgendeinem merkwürdigen Grund nach Java-Konventionen. Könnte damit zusammenhängen dass ich php5 Objektorientiert schreibe und sonst in der Firma nur Java.


    class WhatEver {
    const DEFAULT_USERNAME = "Anonymous";

    private $userName;

    public function __construct() {
    }

    public function getUserName() {
    return $this->userName;
    }
    }
    [/PHP]

    Mag für den ein oder Anderen recht merkwürdig aussehen, ist aber an sich ganz simpel :)

    Das liegt wahrscheinlich einfach nur an der Angewöhnung, da du bestimmt auf der Arbeit mehr programmierst oder?

    Ich habe mir meine Konventionen auch von meiner früheren Arbeitsstelle angeeignet (etwas abgeändert natürlich).

  9. Aus Interesse würde mich mal interessieren, welche Eigenarten Ihr euch im Laufe der Zeit für die Variablenbezeichnungen, Tabellennamen, Feldnamen, Definebezeichnungen u.s.w. angeeignet habt?

    Gehört Ihr eher zu den "Ich programmier einfach wies mir gerade gefällt" oder zu den "lieber immer Ordnung und gleiche Bezeichnung" - Leuten?

    Ich selbst achte aus Gründen der Übersicht, der Pfleg- und Wartbarkeit und der Dokumentation immer auf eine einheitliche Konvention bei der Vergabe von Namen und Bezeichnungen - natürlich auch aus Gründen der Teamarbeit (leicht verständlicher und einheitlicher Quellcode für alle Teammitglieder).

    Tabellen bennene ich z.B. immer nach folgendem Schema:

    • dbt_cfg_config
    • dbt_usr_user
    • dbt_rps_rechnungsposition
    • dbt_rkf_rechnungskopf
    • dbt_nws_news

    Dabvei steht "dbt_" (für Database-Table) und _XXX_ als Zuweisungswert für die Felder der Tabelle:

    Feldnamen für die Tabelle "dbt_cfg_config" wären dann z.B.:

    dbf_cfg_var

    dbf_cfg_value

    Die Anfangszeichen "dbf_" (Database-Field) geben mir im Quellcode Aufschluss, dass es sich um ein Datenbank-Feld handelt. Die vier folgenden Zeichen "cfg_" geben Aufschluss darüber, dass dieses Feld zu der Tabelle "cfg" (also "dbt_cfg_config") gehört.

    So kann ich im Quellcode immer gleich sehen, um welches Feld und welche Tabelle es sich handelt und woher die Daten kommen. Zudem wird es einfacher im Quellcode nach bestimmten Feldern zu suchen, da ich z.B. Variablen nicht so benenne. Eindeutige Bezeichnung für Tabellen und Felder an jeder Stelle im Quellcode, Feldzuordnungen zur Tabelle auch in Templatevariablen (z.B. Smarty) immer sofort ersichtlich, Herkunftsort von Feldinhalten ablesbar.

    Variablen schreibe ich z.B. klein, mit einem Bezeichner für die Verwendung am Anfang:

    Könnte z.B. so aussehen:

    "$sys_variablenname" für z.B. eine Systemvariable

    "$a_userdaten" für z.B. ein Array mit Userdaten

    "$f_vorname" z.B. für einen Wert aus einem Formular in einer PHP-Seite

    "$l_vorname" z.B. für einen Wert, der per Link übergeben wird.

    Defines z.B. schreibe ich hiongegen immer groß, damit man die besser erkennen kann. Am Anfang wird immer ein Bezeichner "D_" angegeben.

    "D_CFG_BILDPFAD" für z.B. eine Config-De´fine, die einen Bildpfad enthällt.

    Ich hab da halt so meinen Ordnungstick, würde mich mal interessieren, welche Ihr da so habt, oder ob Ihr einfach alles irgendwie bezeichnet?

    Gruß

    Oneside

  10. Hallo,

    in einer MySQL DB kann man ein Datum ja in folgenden Spaltentypen abspeichern:

    DATE = 3 Bytes

    DATETIME = 8 Bytes

    TIMESTAMP = 4 Bytes

    Jetzt habe ich öfters schon gesehen, dass viele das Datum als Timestamp in einem int(11)-Feld ablegen:

    INT = 4 Bytes

    Wäre also gegenüber dem DATE-Feld (1) Byte mehr.

    Welche Vorteile ergeben sich durch die Speicherung des Unix-Timestamps

    in einem int(11) Feld und wieso wird das gemacht?

    Wie speichert Ihr euer Datum in einer MySQL DB und wieso?

    Gruß

    Oneside

  11. Hallo,

    ich möchte eine meiner Webseiten einem Performancecheck unterziehen.

    Dabei soll der Server und das Script mit Zugriffen von ca. 1000-2000 gleizeitigen Usern getestet werden.

    Ich habe dazu das "Webserver Stress Tool"-Programm gefunden:

    http://www.de.paessler.com/webstress

    Kennt jemand vielleicht ein solches Tool, welches noch etwas billiger ist?

    Ich möchte rausfinden, wie eine Webseite und der Server unter hohen Belastungen reagiert.

    Danke

    Oneside

  12. Hallo,

    ich muss für einen virtuellen Flash-Charakter ein TTS-System auf einem Webserver aufsetzen.

    Dieser Charakter soll z.B. einen User mit dem Namen ansprechen.

    Dazu sollte das TTS-System per Script (wenn möglich PHP) einen String übergeben bekommen, welcher dann als Audio (mp3 oder wav) gespeichert wird und nur noch aufgerufen werden muss.

    Jemand damit Erfahrung? Welches System ist einfach und kann diese Anfordernungen erfüllen?

    Gruß

    Oneside

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...