Avatar billede cronck Nybegynder
02. april 2009 - 09:44 Der er 7 kommentarer og
1 løsning

MySQL "injector"

Hej eksperter,

Jeg sidder med et større PHP/MySQL projekt.

Det er ikke altid jeg kan tilgå mit webhotels phpMyAdmin grundet et firewall.

Jeg sidder derfor også overvejer om der er nogen som har lavet et script som kan følg:

Et simpelt tekstfelt til SQL-kommandoer og en "submit".

Hvis man så "selecter" nogle værdier i kommandoen skal den udskrive værdierne i tabeller eller lign. når man submitter.

Er der nogen der har sådan et script liggende?

Jeg kunne selvfølgelig selv bygge det fra bunden, men når det kommer til at udskrive arrays, er jeg ikke den skarpeste kniv i skuffen. :)
Avatar billede olebole Juniormester
02. april 2009 - 10:58 #1
<ole>

Jeg forstår ikke, hvad du spørger om  =)

/mvh
</bole>
Avatar billede jakobdo Ekspert
02. april 2009 - 11:12 #2
Ole: Han efterspørger en phpmyadmin MEGET light version.
Textarea og Submit knap. :o)
Avatar billede cronck Nybegynder
02. april 2009 - 11:31 #3
jakobdo, noget i den retning, ja. :)

Hvis jeg på min side skriver "select * from users" skal den printe for eks:

<table>
  <tr style="background: #EEE; font-weight: bold;">
        <td>Username</td>
        <td>Password</td>
        <td>Name</td>
        <td>NyKolonne</td>
  </tr>
    <tr>
        <td>Bruger 1</td>
        <td>test</td>
        <td>testbruger</td>
        <td>kolonne værdi</td>
  </tr>
    <tr>
        <td>Bruger 2</td>
        <td>test2</td>
        <td>testbruger2</td>
        <td>kolonne værdi</td>
  </tr>
</table>

Der er i tabellen users dog en del flere tabeller end de 4 nævnte ... Den skulle gerne printe dem alle sammen.

Udover dét, skal der også være mulighed for at bruge de mest alm. SQL-kommandoer, så man for eks. kan opdatere rækker, nøjes med at 'selecte/printe' enkelte kolonner, som for eks. hvis man bruger: "Select Password, Age, Gender from Users"

Giver det mening nu? :)

Har fundet denne: http://www.gerd-riesselmann.net/archives/2004/12/php-table-printer
Kan dog ikke få den til at virke, og hans examples side er tilsyneladende pillet ned.
Avatar billede coderdk Praktikant
02. april 2009 - 11:56 #4
Det er jo et gigantisk sikkerhedshul ;) Passwordbeskyt den, og smid den bag SSL ;)
Men noget i stil med:

<?php

// connect to db

if ( $_SERVER['REQUEST_METHOD'] == 'POST' )
{
  $sql = ini_get("magic_quotes_gpc") ? stripslashes( $_POST['sql'] ) : $_POST['sql'];
  $qh = mysql_query( $sql ) or die( mysql_error() );
  echo "<b>$sql</b><br>";
  if ( @mysql_num_rows( $qh ) > 0 )
  {
      $first = TRUE;

      echo "<b>" . mysql_num_rows( $qh ) . " rows returned</b><br><table>";
      while ( $row = mysql_fetch_assoc( $qh ) )
      {
          if ( $first )
          {
              $first = FALSE;
              echo "<tr>";
              foreach ( array_keys( $row ) as $k )
              {
                  echo "<th>$k</th>";
              }
              echo "</tr>";
          }
          echo "<tr>";
          foreach ( $row as $k => $v )
          {
              echo "<td>$v</td>";
          }
          echo "</tr>";
      }
      echo "</table><br>";
  }
  else
  {
      if ( mysql_affected_rows() != -1 )
      {
          echo "<b>" . mysql_affected_rows() . " rows affected</b><br>";
      }
  }
}

?>
<form method="post"><textarea name="sql"></textarea><input type="submit" value="query"></form>
Avatar billede cronck Nybegynder
02. april 2009 - 12:27 #5
Det var præcis hvad jeg ledte efter!
Tusind tak! :D

Ja, jeg er klar over at der er visse sikkerheds riscisci ved det.

Siden er password-beskyttet og det er kun mig selv som har adgang til den.

coderdk: Smider du et svar?
Avatar billede coderdk Praktikant
02. april 2009 - 12:31 #6
ok :)
Avatar billede olebole Juniormester
02. april 2009 - 13:38 #7
jakobdo >> tak for overbærende hjælp til en fatsvag gamling  ;D
Avatar billede jakobdo Ekspert
02. april 2009 - 21:49 #8
olebole: Helt ok. :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester