kostenloser Webspace werbefrei: lima-city


PHP&MySQL: @mysql_pconnect

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    loki-arsen

    loki-arsen hat kostenlosen Webspace.

    Hallo ich schreib grad eine classe für einem php script welches daten aus einer MySQL DB holt und auch dort speichert ...

    zum verbindungsaufbau binn ich jetzt auf zwei möglich keiten gestossen.

    @mysql_pconnect($host,$user,$pass)
    und
    @mysql_connect($this->host,$this->user,$this->pass)

    und da hab ich mich gefragt, welches ich den jetzt un verwenden sollte.
    bei mysql_pconnect hab ich gelesen, dass es nach bereits offenen Verbindungensucht und falls vorhandne diese verwendet. Allerdings werden diese dann am ende des Scriptes nicht geschlossen
    die Verbindung zum SQL Server wird beim Beenden des PHP-Skripts nicht geschlossen. Sie bleibt zur zukünftigen Verwendung bestehen. (mysql_close() schließt keine von mysql_pconnect() geöffneten Verbindungen).

    bleiben die also ewig offen oder was ist dann los ?

    zur überprüfung ob bereits eine verbindung besteht kann ich ja auch:

    STATIC $conn;
    if(!$conn){$conn = mysql_connect($this->host,$this->user,$this->pass);}
    $this->conn=&$conn;

    wann sollte man jetzt also was einsetzten ?


    Außerdem frage ich mich was dieses @ vor den befehlen bewirkt.

    hoffe ihr könnt mir helfen.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Das @ bewirkt, dass die Fehlermeldung ignoriert wird, wenn es eine gibt.

    Im Normalfall bringt dir mysql_pconnect() nicht viel, könnte eher Probleme machen. Also nimm mysql_connect.

    Hier noch was von php.net:

    pconnect is preferred when you are using a remote database server on a major web site. mysql in particular stays happier with 1 open connection as opposed to 1000 connections a minute =)
  4. Autor dieses Themas

    loki-arsen

    loki-arsen hat kostenlosen Webspace.


    So mitlerweile funktioneirt meine Klasse, (mit normalem mysql_connect)
    Jetzt stellt sich mir nur die frage wie schütze ich die eingaben, das ich keinen Schadcode eingetragen bekomme ?

    Ich habe vor den Code so zu erweitern, dass dann später einmal BB-Code möglich ist,
    aber eben kein html, php oder so! Und vl auch einen Bad-Word-filter.

    Aber in welcher reihenfolge sollen ich das angehen ...
    kenn mcih mit den Filterungsmöglichkeiten auch noch kaum aus
    hab bis jetzt nur nl2br & stripslashes benutzt,
    aber da bleibt ja alles voranden,
    vl wäre es ja besser sie gleich zu entfernen ?
    und wie mach ich dann danach sinnvoll den BBcode?
  5. loki-arsen schrieb:
    vl wäre es ja besser sie gleich zu entfernen ?
    und wie mach ich dann danach sinnvoll den BBcode?

    Ich sage nur: Regular Expressions... Das Beste mittel für bbcodes. Ich habe mal ne ultimative URL-RegExp gesehn, die is auch noch irgendwo im forum zu finden.
    Und sonst würde ich einfach alle sonstigen "<" mit "&lt;" und ">" mit "&gt;" ersetzen lassen. Sonst gibt es eigentlich nich soviel sachen, mit denen man Unfug anstellen kann.

    -AlienDwarf
  6. Autor dieses Themas

    loki-arsen

    loki-arsen hat kostenlosen Webspace.

    So hab jetzt ein bissal gestöbert und bin auf einige sachen gestossen (strip_tags(), htmlentities(), htmlspecialchars(), str_replace(), eregi_replace)


    1)So hatte jetzt zuerst die Idee alle schädlichen sachen rauszufilltern.
    Nur weiß ich nucht wie ich dass anstellen soll. am besten wäre eine kombi
    funktion aus strip_tags(); und htmlentities();

    htmlentities() setzt nämlich alle Zeichen in HTML-Code um so wie ichs gerne hätte, bietet aber leider nicht die möglichkieten ausnahmen zu definieren wie strip_tags(). Damit wäre es möglich zB so sachen wie <i> <b> <img> <a> freizugeben. Schade dass es sowas nicht gibt.

    2)Naja und zum BB-Code. Dafür werde ich wohl eregi_replace() verwenden, da es sonst dazu kommen kann, dass am ende eines Eintrages noch ein offener Tag vorhanden ist, der dann nicht geschlossen wird wenn ich str_replace() verwende.

    Hatt vl jemand ne Idee zu ersterem ?

    3)Außerdem hatte ich die Idee das Scrip Teilweiße auch für ein offenes GuestBook einzusetzten, nur wollte ich es natürlich auch sicher vor Spam machen, daher ist mir eingefallen, ich könnte den einzutragenden Text auf URLs ( http:// bzw. www) untersuchen und falls eine sollche vorhanden ist so eine Graphik mit Text zum abtippen ausgeben bevor der Text wirklich eingetragen wird.
    Dazu hab ich mir überlegt wie ich diese Realisieren sollte.
    Geht dass nur mit DB ? in der Steht zu welcher graphik welcher Text gehört ?
    weil wenn ich dass irgendwie mit übergebe, könnte das ja der Bot mitlesen und darauf reagieren oder?


  7. zu Spamschutz:

    Schau mal auf http://w2.syronex.com/jmr/safemailto/de/#st4

    ist mit javascript umgesetzt und es kostet nichts.

    lG.
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!