Säkerhet i mySQL?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • alioooop
    Medlem
    • 2008-02-10
    • 120

    #1

    Säkerhet i mySQL?

    hej

    håller på att försöka få min sida säker men hittar så många olika sätt men alla har sina negativa sidor.

    då är min fråga, vad ska jag använda mig utav för funktion eller om jag ska skriva en ultimat egen funktion, hur ska den se ut?
    såg även att vissa har &-tecken runt sina variabler som ska in i databasen, vad ger detta?

    frågan har säkert ställts tusen ggr förr men hittade inte ett bra svar.

    snälla hjälp

    MVH alioooop
    Last edited by alioooop; 2009-10-01, 11:05.
  • nitro2k01
    Forumvärd
    • 2003-08-26
    • 7630

    #2
    Jag gissar att du använder PHP?
    Använd mysqli-interfacet med prepared statements så eliminerar du all risk för SQL-injektioner i ett svep.

    Läs mer här: http://devzone.zend.com/article/686
    Gameboy Genius - Foto: Gatukonst och elektronikporr
    Internklippning:
    1) Snaggning av fångar.
    2) Klippning frisörer emellan.

    Comment

    • alioooop
      Medlem
      • 2008-02-10
      • 120

      #3
      joo eftersom att min tråd ligger i php kategorin så använder jag php

      tack iaf ska kolla upp det där =)

      Comment

      • alioooop
        Medlem
        • 2008-02-10
        • 120

        #4
        men den där beskriver ju endast läsning, vill ju kunna skriva säkert i tex forms osv

        Comment

        • MickeA.com
          Medlem
          • 2003-02-03
          • 4528

          #5
          Originally posted by alioooop
          men den där beskriver ju endast läsning, vill ju kunna skriva säkert i tex forms osv
          Men då har du läst något annat, när jag kollar länken ovan hittar jag massor med information om hur man skriver till databasen, med prepared statements.
          //Micke Andersson
          Hemsida | Kontakta
          ----------------------
          "Det är svårt att vara ödmjuk när man vet att man är bäst".

          Comment

          • alioooop
            Medlem
            • 2008-02-10
            • 120

            #6
            Originally posted by MickeA.com
            Men då har du läst något annat, när jag kollar länken ovan hittar jag massor med information om hur man skriver till databasen, med prepared statements.
            fattar inte ett skit av det där! är det där det enda riktigt säkra sättet?

            skulle du kunna beskriva lite med något exempel? =)

            Comment

            • alioooop
              Medlem
              • 2008-02-10
              • 120

              #7
              PHP Code:
              <?php
              $mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');
              
              /* check connection */
              if (mysqli_connect_errno()) {
                  printf("Connect failed: %s\n", mysqli_connect_error());
                  exit();
              }
              
              $stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
              $stmt->bind_param('sssd', $code, $language, $official, $percent);
              
              $code = 'DEU';
              $language = 'Bavarian';
              $official = "F";
              $percent = 11.2;
              
              /* execute prepared statement */
              $stmt->execute();
              
              printf("%d Row inserted.\n", $stmt->affected_rows);
              
              /* close statement and connection */
              $stmt->close();
              
              /* Clean up table CountryLanguage */
              $mysqli->query("DELETE FROM CountryLanguage WHERE Language='Bavarian'");
              printf("%d Row deleted.\n", $mysqli->affected_rows);
              
              /* close connection */
              $mysqli->close();
              ?>
              hittade det här och den fattade jag, så man kan inte skriva in något i variablerna som kan manipulera databasen på något vis?

              Comment

              • jme
                Medlem
                • 2001-05-07
                • 1967

                #8
                Originally posted by alioooop
                [PHP]
                hittade det här och den fattade jag, så man kan inte skriva in något i variablerna som kan manipulera databasen på något vis?
                Nej, så länge implementation (mysqli) i sig är säker (fast det är en helt annan sak det)

                Annars så är det också trevligare att slippa pilla med fnuttarna (').
                Min blogg | Mina böcker

                Comment

                • alioooop
                  Medlem
                  • 2008-02-10
                  • 120

                  #9
                  men hur ska jag få den säker? det är det som är mitt problem, vet hur jag ska connecta men är rädd för sql injection

                  Comment

                  • MickeA.com
                    Medlem
                    • 2003-02-03
                    • 4528

                    #10
                    Originally posted by alioooop
                    fattar inte ett skit av det där! är det där det enda riktigt säkra sättet?
                    Nej, som det står i texten kan du använda det hederliga sättet med mysql_real_escape() också, men det står även att om du istället använder mysqli så kommer du bl.a. ner i storlek på frågorna . Just den biten handlar om att få lite bättre optimerad kod.
                    //Micke Andersson
                    Hemsida | Kontakta
                    ----------------------
                    "Det är svårt att vara ödmjuk när man vet att man är bäst".

                    Comment

                    • MickeA.com
                      Medlem
                      • 2003-02-03
                      • 4528

                      #11
                      Sök! Sql injektion har tagit upp tusen gånger. Sök här i phpforumet t.ex. så kommer du hitta hur mycket information som helst.
                      //Micke Andersson
                      Hemsida | Kontakta
                      ----------------------
                      "Det är svårt att vara ödmjuk när man vet att man är bäst".

                      Comment

                      • alioooop
                        Medlem
                        • 2008-02-10
                        • 120

                        #12
                        $albumName = mysql_real_escape_string($_POST['albumName']) ;

                        denna rad kod ger mig detta fel så därför kan jag inte använda det...

                        Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'photocatwalk.com'@'srv20.one.com' (using password: NO) in /customers/photocatwalk.com/photocatwalk.com/httpd.www/make_album.php on line 35

                        Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /customers/photocatwalk.com/photocatwalk.com/httpd.www/make_album.php on line 35

                        Comment

                        • jme
                          Medlem
                          • 2001-05-07
                          • 1967

                          #13
                          mysql_real_escape_string() kräver en öppen anslutning till databasen.

                          har du öppnat en anslutning till databasen före du använde denna funktion och gav du ett lösenord också?
                          Min blogg | Mina böcker

                          Comment

                          • alioooop
                            Medlem
                            • 2008-02-10
                            • 120

                            #14
                            Originally posted by jme
                            mysql_real_escape_string() kräver en öppen anslutning till databasen.
                            hur skapar man en öppen anslutning?

                            Comment

                            • alioooop
                              Medlem
                              • 2008-02-10
                              • 120

                              #15
                              faan jag är en idiot nu fattar jag

                              Comment

                              Working...