|BRAINSTORMING| Sicherheit bei Usereingaben

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

  • |BRAINSTORMING| Sicherheit bei Usereingaben

    Hallo zusammen,

    um den Usern dieses Forums weitere Unterstützung beim Programmieren zu bieten, möchte ich euch bitten zu folgendem Thema ein Brainstorming zu machen:

    -> [COLOR=darkred]SICHERHEIT BEI USEREINGABEN[/COLOR]

    Wie verarbeite ich Usereingaben am sichersten, so dass ich Manipulation ausschlißen kann. Ziel ist es den Usern ein sucheres Scripten zu ermöglichen.

    Danke für eure Hilfe!
    Zuletzt geändert von TobiaZ; 08.06.2003, 20:22.

  • #2
    Diesen Artikel kennst vermutlich eh schon
    http://www.oreilly.de/artikel/php_sicherheit.html
    Was fehlt Dir konkret noch?
    o Unterbinden der Ausgabe von HTML Tags
    o Unterbinden von Hochkommata
    ...

    Kommentar


    • #3
      Wenn du damit andeuten willst wir sollen jetzt irgendwas darein posten dann hab ich dich richtig verstanden


      Session
      md5 verschlüsselte DB-Passwörter
      [color=blue]MfG Payne_of_Death[/color]

      [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
      [color=red]Merke:[/color]
      [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

      Murphy`s Importanst LAWS
      Jede Lösung bringt nur neue Probleme
      Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
      In jedem kleinen Problem steckt ein großes, das gern raus moechte.

      Kommentar


      • #4
        jo, halt alles was euch so dazu einfällt. die ansätze sind ja schon ganz gut. ziel ist halt so ne liste zu erstellen

        Kommentar


        • #5
          o post und get voneinander trennen
          o SSL verwenden mindestens aber während Authentifizierung
          o Include Skripte außerhalb des Webroot ablegen
          o Datenbank-Connectinformationen außerhalb Webroot
          o Include Skripte mit .php benennen

          Kommentar


          • #6
            Ich höre derzeit immer häufiger von SHA1 ... ist glaub sowas wie md5 nur sicherer??

            Und sonst das übliche ... mysql_real_escape_string etc ...
            htmlentities bei der Ausgabe ...

            o Include Skripte außerhalb des Webroot ablegen
            o Datenbank-Connectinformationen außerhalb Webroot
            Wieso? *für alle die es nicht wissen
            Zuletzt geändert von CannabisCow; 08.06.2003, 21:39.

            Kommentar


            • #7
              ihr seid klasse.

              ich denke ssl ist bei den ganzen priv. usern etwas schwer zu realisieren, das kost ja auch n bissel.

              fällt euch n bisschen ein, was man bei scripten der art index.php?showpage=index.html beachten sollte? also keine endung, nicht direkt includen, ...

              Weiß jemand was von SHA1? Ableger von SARS? Hab davon noch nicht gehört.

              und zählt mal bitte die ganze fkts der form addslashes, etc auf.

              Kommentar


              • #8
                http://de3.php.net/mysql_real_escape_string

                http://de3.php.net/mysql_escape_string

                http://de3.php.net/manual/de/function.addslashes.php

                fällt euch n bisschen ein, was man bei scripten der art index.php?showpage=index.html beachten sollte? also keine endung, nicht direkt includen, ...

                PHP-Code:

                $act_array 
                = array(
                'home' => 'home'
                'nepage' => 'nepage'
                );

                if(empty(
                $_GET['act']))
                {
                $_GET['act'] = '';
                }

                $_GET['act'] = (!empty($_POST['act'])) ? $_POST['act'] : $_GET['act'];


                if (!empty(
                $_GET['act']) AND isset($act_array[$_GET['act']]))
                {
                    
                $act = (string)$_GET['act'];
                }
                else
                {
                    
                $act = (string)'home';
                }


                require_once 
                './' $act '.php'
                sowat?

                achja, und net vergessen auch den USER AGENTEN etc. zu maskieren

                Kommentar


                • #9
                  SHA1

                  Ich hab bis grad eben SHA1 nur in Verbindung mit ASP gehört !!!

                  http://www.aspheute.com/artikel/20010330.htm

                  Hab hier aber auch was zu PHP und SHA1 gefunden !!!

                  http://de.php.net/manual/de/function.sha1.php

                  Kommentar


                  • #10
                    @CannabisCow

                    man legt wenn möglich include Dateien außerhalb des WWW-Root-Verzeichnisses, um zu vermeiden, dass der User sensible Daten aus der Include Datei erfährt, wenn z. B. der PHP interpreter mal ausfällt....

                    Angenommen du hast eine Datei, in der du eine andere Datei includest. In der Include-datei stehen deine Zugangsdaten für MySQL.
                    -> PHP fällt aus...
                    der User sieht PlainText und sieht, dass du die und dieDatei includet hast...er sieht auch den Pfad...

                    nun kann er sich die Include Datei genau so anschaun...und deine Zugangsdaten sehen...

                    wenn du jetzt aber die Include Datei in einem ganz anderen Order hast, der außerhalb von der WWW-Root liegt, hat der User keine Möglichkeit sich die Include Datei anzuschauen.

                    soviel zur Theorie

                    ich denke in der Prxis funktionierts auch, nur ist man bei Providern leider stark eingeschränkt, was das angeht....
                    tata
                    moqui

                    [COLOR=red]Ich will keine unaufgeforderten Mails über PHP Fragen. Es gibt ein Forum hier! Und ich bin nicht Scripter für jeden, der mir ne Mail schreibt![/COLOR]

                    Kommentar


                    • #11
                      zu SHA1:

                      Nachzulesen in der RFC3174

                      http://www.faqs.org/rfcs/rfc3174.html

                      es basiert auf MD4

                      der Algorythmus von MD4 gibts in der RFC 1320
                      und der von MD5 in der RFC 1321

                      SHA1 ist ein Hash aus einer 40 Zeichen langen Hexadezimalzahl

                      Funktion sha1() verfügbar ab 4.3.0

                      mehr zr Funktion: http://de.php.net/manual/de/function.sha1.php

                      ehrlichgesagt...ich kannte die Funktion bis jetzt auch noch nicht...
                      tata
                      moqui

                      [COLOR=red]Ich will keine unaufgeforderten Mails über PHP Fragen. Es gibt ein Forum hier! Und ich bin nicht Scripter für jeden, der mir ne Mail schreibt![/COLOR]

                      Kommentar


                      • #12
                        Ich habe vor einiger Zeit eine Javascript SHA1 Implentierung nach PHP umgeschrieben. Für diejenigen, die noch kein PHP 4.3.0 haben ist das recht nützlich.
                        Unter http://dev.deepsource.ch (genauer unter http://dev.deepsource.ch/index.php?C...SubCategory=10) findet ihr den Download (wenn ihr auf "SHA" ) klickt.

                        SHA-1 ist um einiges sicherer als MD5 und sozusagen der Nachfolger. Wer neue Applikationen schreibt, sollte vielleicht lieber auf SHA-1 setzen als auch MD5.
                        [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
                        [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
                        [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

                        © Harald Schmidt

                        Kommentar


                        • #13
                          also ich nutzte md5 verschlüsselung und trennung von get und post

                          aber dieses sha1 interessiert mich!
                          plz mehr davon

                          Kommentar


                          • #14
                            Original geschrieben von Moqui
                            @CannabisCow

                            man legt wenn möglich include Dateien außerhalb des WWW-Root-Verzeichnisses, um zu vermeiden, dass der User sensible Daten aus der Include Datei erfährt, wenn z. B. der PHP interpreter mal ausfällt....
                            Wieso nicht im Ordner mit den Configdateien eine htaccess anlegen und den Zugriff von außen unterbinden?

                            Order Deny,Allow
                            Deny from all

                            Sollte reichen, oder überseh ich dabei etwas

                            Gruß!

                            Kommentar


                            • #15
                              was jetzt leider noch n bisschen untergegangen ist, ist die sache, mit den Formulareingaben.

                              also was muss ich z.b. bei nem gästebuch alles prüfen, bzw. anwenden???

                              Kommentar

                              Lädt...
                              X