kostenloses Branchenbuch - Brainstorming

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • kostenloses Branchenbuch - Brainstorming

    Hi@All

    Ich habe ein kleines Internetprojekt und möchte darin unter anderem ein Branchenbuch integrieren.
    Da ich kein für mich passendes, fertiges Script finden konnte, habe ich mich entschlossen, die ganze Sache selbst zu schreiben.
    Aus diesem Grund bitte ich Euch alle um ein bisschen Unterstützung. Folgende Fragen stellen sich vorerst:[list=1][*]Wie sollte die Tabellenstruktur (MySQL) gestaltet sein?[*]Welche Sicherheitsaspekte gilt es zu beachten?[/list=1]
    Vielen Dank schon mal im Voraus, für Eure Tipps.
    Zuletzt geändert von gruenspan; 30.06.2006, 18:09.

  • #2
    Re: kostenloses Branchenbuch - Brainstorming

    Und zu welchen Antworten auf diese Fragen bist du erst mal selber gekommen?
    Wenn du welche lieferst, kann man diese ggf. diskutieren.
    Aber die eigentliche Denkarbeit gleich von vornherein auf andere abschieben zu wollen, finde ich "doof".
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Natürlich hast Du recht wahsaga. Ich habe mir deshalb mal folgende Liste (sicher noch unvollständig) zusammengestellt:

      1. Tabellenstruktur

      Tabelle Eintrag:

      id | eintragtitel | plz | ort | beschreibung | [color=blue]status (on/off)[/color]

      Tabelle Benutzer:

      id | benutzer | passwort


      2. Sicherheit [list=a][*]HTML- und PHP-Tags ausschließen (strip_tags) [*]Benutzereingaben auf Ihre Länge überprüfen (substr)[*]Sonderzeichen entfernen (mysql_escape_string)[*]Passwörter verschlüsselt in der Datenbank eintragen (md5)[*]mySQL-Injection[*][COLOR=blue]Benutzerregistrierung mit Email-Bestätigung[/COLOR] [/list=a]
      Zuletzt geändert von gruenspan; 28.06.2006, 20:16.

      Kommentar


      • #4
        Sonderzeichen entfernen (mysql_escape_string)
        erklär' mal. oder sollte ich sagen "erklaer' mal"

        Kommentar


        • #5
          Ich meinte 'maskieren'. Zur Benutzung in mysql_query.
          aus...
          erklär' mal.
          wird...
          erklär\\' mal.
          Zuletzt geändert von gruenspan; 29.06.2006, 10:56.

          Kommentar


          • #6
            Im Zuge meiner Arbeit bin ich unweigerlich über reguläre Ausdrücke gestolpert. Das Formular zum eintragen ins Branchenbuch soll natürlich überprüft werden. Ich hab mich eingearbeitet und unter anderem folgende Links zu Rate gezogen:

            php-resource.de/tutorials
            http://www.php-resource.de/forum/

            Überprüfen möchte ich die eingegebene URL. Ich hab mich dabei an den Vorschlag von Benny-one gehalten und diesen noch etwas erweitert, um z.B. www.-domain.de zu vermeiden.
            PHP-Code:
            $string "http://www.meinedomain.org";
            $pattern "/^(http:\/\/www|http:\/\/)\.[^-][a-z0-9-]+\.(de|com|org|net|gov|eu|info|tv|it|at|hu|ch)$/i"

            if(
            preg_match($pattern,$string)){
              echo 
            $string." <b>TRUE</b>";
              }else{ echo 
            $string." <b>FALSE</b>";} 
            Meine Tests verliefen bisher alle erfolgreich. Ist das Pattern so korrekt oder enthält es noch Fehler oder Möglichkeiten zur Verbesserung?

            PS: Die Liste mit den TLD's ist natürlich nicht vollständig.
            Zuletzt geändert von gruenspan; 30.06.2006, 18:21.

            Kommentar


            • #7
              Mach lieber eine Anfrage an die jeweilige Seite, ob sie existiert. Das finde ich persönlich besser als die RegExp-Variante. Schreib eben dazu, dass die Seite bei Eintragung existieren muss.

              Ich habe mich neulich auch mit gültigen Domain-Namen beschäftigt - offenbar ist ein führender - durchaus erlaubt, obwohl ich das weder glauben noch abschließend klären konnte

              OffTopic:
              Entferne bitte die RefID aus Deiner Signatur.
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #8
                Kannst Du mir einen Tipp geben , wie man das angeht? Hab mir gerade mal gethostbyname() angeschaut. scheint mir aber nicht das richtige zu sein.
                OffTopic:
                Signatur ist jetzt korrekt.

                Kommentar


                • #9
                  fsockopen

                  Kommentar


                  • #10
                    Ich hab das immer mit fsockopen() in Verbindung mit socket_set_timeout() gemacht, schau mal in den User Comments ... vielleicht findest Du gleich was passendes.

                    Ich glaube, es reicht, dort auf 200 oder nicht zu prüfen
                    Die Zeit hat ihre Kinder längst gefressen

                    Kommentar


                    • #11
                      Vielen Dank derHund. Ist es ausreichend nur mit folgendem Script zu prüfen?
                      PHP-Code:
                      $web "www.meinedomain.de";
                        
                      $fp = @fsockopen($web,80);
                        if(!
                      $fp){
                        
                      tu dies;
                        }else
                        {
                         
                      tu das;
                        } 
                      Ich habe so bereits einige Domains erfolgreich getestet, oder muß man socket_set_timeout() zusätzlich verwenden?

                      Kommentar


                      • #12
                        Ich hatte es irgendwann mal zusätzlich eingebaut, um zu verhindern, dass ... ich denke mal, die Überprüfung zu lange dauert - ich weiß es aber nicht mehr Daher weiß ich auch nicht, ob das Nonsense oder notwendig war ...
                        Die Zeit hat ihre Kinder längst gefressen

                        Kommentar


                        • #13
                          Ich hab jetzt meine Datenbankstruktur folgendermaßen überarbeitet:

                          Tabelle Eintrag:
                          id | eintrag | autoren_id
                          ------------------------------

                          Tabelle Autor:
                          id | name
                          ------------

                          Tabelle Daten:
                          id | daten | autoren_id
                          ----------------------------

                          Tabelle Kategorien:
                          id | name
                          ------------

                          Tabelle Lookup:
                          eintrag_id | kategorie_id
                          -------------------------------

                          In der Tabelle Eintrag befindet sich - ganz klar - der Eintrag ins Branchenbuch. Die ist über autoren_id mit der Tabelle Autor verknüpft. Ebenso die Tabelle Daten für die daten des Autors (email, plz ect.)
                          Ausserdem verknüpft die Tabelle lookup die beiden Tabellen Kategorien und Eintrag miteinander.

                          Unterstützung und Hilfestellung hab ich mir übrigens aus dem Buch PHP und MySQL von Kevin Yank geholt, (hatte es schon ne weile im Regal rumstehen) und natürlich hier im Forum.

                          Kommentar


                          • #14
                            OffTopic:
                            Warums sind eigentlich im Moment alle an einem Branchenbuch dran?


                            Wenn pro Eintrag nur ein Autor vorhanden ist, kannst du die Tabellen Autor und Daten zusammenlegen.

                            Kommentar


                            • #15
                              Original geschrieben von TobiaZ
                              OffTopic:
                              Warums sind eigentlich im Moment alle an einem Branchenbuch dran?
                              Ist das so? Ich kenn keinen!

                              Wenn pro Eintrag nur ein Autor vorhanden ist, kannst du die Tabellen Autor und Daten zusammenlegen.
                              Ich dachte mir, das ein Autor auch mehrere Einträge schreiben kann. Zum Beispiel der Friseur, der im anderen Stadtteil eine Filiale eröffnet hat.

                              Kommentar

                              Lädt...
                              X