Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Dovè il bug ?

  1. #1

    Dovè il bug ?

    Ciao a tutti.
    Mi dicono che questo script contiene un bug che uno o più cracker stanno
    utilizzando per inviare spam alla mia casella di posta (una quindicina di msg al giorno ricevo). Sapreste darmi un mano a trovarlo ?

    <?
    include("stile.php");
    include("config.inc.php");
    require ("config.posta.php");

    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query = "SELECT N, TITOLO, PREZZO FROM articoli WHERE N='$N'";

    $result = mysql_query($query, $db);
    $row = mysql_fetch_array($result);

    ?>
    <p align="center">[img]logo_intestazione.jpg[/img]</a></p>
    <p align="center"><font face="Arial" size="3">MODULO D'ORDINE</font></p>
    <p align="center"><font face="Arial" size="1">(*) Campi obbligatori</font></p>

    <form name="posta_form" method="post" action="invia.php">

    <table cellspacing="5" cellpadding="5" width="<? echo $lunghezza_tabella ?>" align="center" class="tabella">

    <tr>
    <td><cite><? echo $campo1 ?>*:</cite></td>
    <td>
    <input name=primo size="<? echo $lunghezza_campo1 ?>" maxlength="<? echo $lunghezza_max_campo1 ?>" class="box" onMouseOver="this.className='box2'" onMouseOut="this.className='box'" onClick="this.className='box3'">
    </td>
    </tr>

    <?
    if ($campo3 == "")
    {
    echo '';
    }
    else {
    echo "<tr>\n<td><cite>$campo3*:</cite></td>\n<td><input name=terzo size=\"$lunghezza_campo3 \" maxlength=\"$lunghezza_max_campo3\" class=\"box\" onMouseOver=\"this.className='box2'\" onMouseOut=\"this.className='box'\" onClick=\"this.className='box3'\"></td>\n</tr>\n";
    }
    if ($campo4 == "")
    {
    echo '';
    }
    else {
    echo "<tr>\n<td><cite>$campo4*:</cite></td>\n<td><input name=quarto size=\"$lunghezza_campo4 \" maxlength=\"$lunghezza_max_campo4\" class=\"box\" onMouseOver=\"this.className='box2'\" onMouseOut=\"this.className='box'\" onClick=\"this.className='box3'\"></td>\n</tr>\n";
    }
    if ($campo5 == "")
    {
    echo '';
    }
    else {
    echo "<tr>\n<td><cite>$campo5*:</cite></td>\n<td><input name=quinto size=\"$lunghezza_campo5 \" maxlength=\"$lunghezza_max_campo5\" class=\"box\" onMouseOver=\"this.className='box2'\" onMouseOut=\"this.className='box'\" onClick=\"this.className='box3'\"></td>\n</tr>\n";
    }
    if ($campo6 == "")
    {
    echo '';
    }
    else {
    echo "<tr>\n<td><cite>$campo6 :</cite></td>\n<td><input name=sesto size=\"$lunghezza_campo6 \" maxlength=\"$lunghezza_max_campo6\" class=\"box\" onMouseOver=\"this.className='box2'\" onMouseOut=\"this.className='box'\" onClick=\"this.className='box3'\"></td>\n</tr>\n";
    }
    if ($campo2 == "")
    {
    echo '';
    }
    else {
    echo "<tr>\n<td><cite>$campo2*:</cite></td>\n<td><input name=secondo size=\"$lunghezza_campo2 \" maxlength=\"$lunghezza_max_campo2\" class=\"box\" onMouseOver=\"this.className='box2'\" onMouseOut=\"this.className='box'\" onClick=\"this.className='box3'\"></td>\n</tr>\n";
    }
    if ($campo2a == "")
    {
    echo '';
    }
    else {
    echo "<tr>\n<td><cite>$campo2a:</cite></td>\n<td><input name=secondoa size=\"$lunghezza_campo2a \" maxlength=\"$lunghezza_max_campo2a\" class=\"box\" onMouseOver=\"this.className='box2'\" onMouseOut=\"this.className='box'\" onClick=\"this.className='box3'\"></td>\n</tr>\n";
    }
    if ($campo7 == "")
    {
    echo '';
    }
    else {
    echo "<tr>\n<td><cite>$campo7:</cite></td>\n<td><input name=settimo VALUE=\"$row[N]\" size=\"$lunghezza_campo7 \" maxlength=\"$lunghezza_max_campo7\" class=\"box\" onMouseOver=\"this.className='box2'\" onMouseOut=\"this.className='box'\" onClick=\"this.className='box3'\"></td>\n</tr>\n";
    }
    if ($campo8 == "")
    {
    echo '';
    }
    else {
    echo "<tr>\n<td><cite>$campo8:</cite></td>\n<td><input name=ottavo VALUE=\"$row[TITOLO]\" size=\"$lunghezza_campo8 \" maxlength=\"$lunghezza_max_campo8\" class=\"box\" onMouseOver=\"this.className='box2'\" onMouseOut=\"this.className='box'\" onClick=\"this.className='box3'\"></td>\n</tr>\n";
    }
    if ($campo9 == "")
    {
    echo '';
    }
    else {
    echo "<tr>\n<td><cite>$campo9:</cite></td>\n<td><input name=nono VALUE=\"$row[PREZZO]\" size=\"$lunghezza_campo9 \" maxlength=\"$lunghezza_max_campo9\" class=\"box\" onMouseOver=\"this.className='box2'\" onMouseOut=\"this.className='box'\" onClick=\"this.className='box3'\"></td>\n</tr>\n";
    }
    if ($campo10 == "" || $option == "")
    {
    echo '';
    }
    else {
    echo "<tr>\n<td><cite>$campo10:</cite></td>\n<td><select name=\"decimo\" class=\"select1\">\n";
    foreach($option as $valore){
    echo "<option>". $valore . "</option>";
    }
    echo "</select></td></tr>";

    }
    if ($campo11 == "")
    {
    echo '';
    }
    else {
    echo "<tr>\n<td><cite>$campo11:</cite></td>\n<td><cite>$check2</cite><input type=\"radio\" checked name=\"undicesimo\" value=\"$check2\" class=\"box\" onMouseOver=\"this.className='box2'\" onMouseOut=\"this.className='box'\" onClick=\"this.className='box3'\">
    <cite>$check1</cite><input type=\"radio\" name=\"undicesimo\" value=\"$check1\" class=\"box\" onMouseOver=\"this.className='box2'\" onMouseOut=\"this.className='box'\" onClick=\"this.className='box3'\"></td>\n</tr>";
    }
    ?>

    <tr>
    <td><cite><? echo $campo_messaggio ?>:</cite></td>
    <td><textarea name="messaggio" cols="<? echo $colonne_textarea ?>" rows="<? echo $righe_textarea ?>" wrap="VIRTUAL" class="box" onMouseOver="this.className='box2'" onMouseOut="this.className='box'" onClick="this.className='box3'"></textarea></td>
    </tr>

    <tr>
    <td></td>
    <td><input type="submit" name="Submit" value=" INVIA " class=box onMouseOver="this.className='submit'" onmouseOut="this.className='box'" onFocus="this.blur()">
    <input type="reset" name="Submit2" value="Cancella" class=box onMouseOver="this.className='submit'" onmouseOut="this.className='box'" onFocus="this.blur()">

    <?
    echo "<input type=hidden name=ipadress value=$REMOTE_ADDR>";
    echo "<input type=hidden name=referer value=$HTTP_REFERER>";
    echo "<input type=hidden name=ora value=$ora>";
    echo "<input type=hidden name=data value=$data>";
    ?>
    </td>
    </tr>

    </table>

    </form>

    <font face="Arial" size="2">
    <p align=justify>Ai sensi della legge sulla privacy del 31.12.1996 n. 675, i dati nei nostri archivi sono usati per la prosecuzione del rapporto di vendita libri. L'interessato può chiedere in qualsiasi momento la modifica e la cancellazione dei dati.
    </p>
    </font>

    <font face="Arial" size="2">
    <p align="center">Le sarà confermato l’ordine tramite E-Mail o Telefono.
    </p>
    </font>

  2. #2
    Credo che più che il codice del form sia da vedere il codice di invia.php

  3. #3
    Si penso proprio che tu abbia ragione, eccolo:
    <?
    require ("config.posta.php");

    ######## POTETE INSERIRE IL CODICE HTML PER PERSONALIZZARE LA PAGINA #####
    ?>
    <html>
    <head>
    <title>Grazie</title>

    <SCRIPT language="JavaScript">
    <!--
    if(document.layers){
    document.write("<link rel='stylesheet' href='stileNN.css' type='text/css'>");
    }
    if(document.all){
    document.write("<link rel='stylesheet' href='stile.css' type='text/css'>");
    }
    if(document.getElementById){
    document.write("<link rel='stylesheet' href='stile.css' type='text/css'>");
    }
    //-->
    </SCRIPT>

    </head>
    <body topmargin="50" margineight="50">
    <table border="5" width="400" align="center">
    <tr>
    <td>


    <?
    if ($primo == "")
    {
    echo "<table cellspacing=\"2\" cellpadding=\"2\" width=\"98%\" align=\"center\" class=\"tabella\">
    <tr>
    <td><div align=\"center\"><cite>Attenzione! Non ha compilato il campo</cite> <font color=\"red\">$campo1</font></div></td>
    </tr></table>" ;
    }
    elseif ($terzo == "")
    {
    echo "<table cellspacing=\"2\" cellpadding=\"2\" width=\"98%\" align=\"center\" class=\"tabella\">
    <tr>
    <td><div align=\"center\"><cite>Attenzione! Non ha compilato il campo</cite> <font color=\"red\">$campo3</font></div></td>
    </tr></table>" ;
    }
    elseif ($quarto == "")
    {
    echo "<table cellspacing=\"2\" cellpadding=\"2\" width=\"98%\" align=\"center\" class=\"tabella\">
    <tr>
    <td><div align=\"center\"><cite>Attenzione! Non ha compilato il campo</cite> <font color=\"red\">$campo4</font></div></td>
    </tr></table>" ;
    }
    elseif ($quinto == "")
    {
    echo "<table cellspacing=\"2\" cellpadding=\"2\" width=\"98%\" align=\"center\" class=\"tabella\">
    <tr>
    <td><div align=\"center\"><cite>Attenzione! Non ha compilato il campo</cite> <font color=\"red\">$campo5</font></div></td>
    </tr></table>" ;
    }
    elseif ($secondo == "")
    {
    echo "<table cellspacing=\"2\" cellpadding=\"2\" width=\"98%\" align=\"center\" class=\"tabella\">
    <tr>
    <td><div align=\"center\"><cite>Attenzione! Non ha compilato il campo</cite> <font color=\"red\">$campo2</font></div></td>
    </tr></table>" ;
    }
    else
    {
    echo "<table cellspacing=\"2\" cellpadding=\"2\" width=\"98%\" align=\"center\" class=\"tabella\">
    <tr>
    <td><div align=\"center\"><cite>$messaggio_inviato</cite></div></td>
    </tr></table>";




    mail("$tua_email","Modulo Contatti",

    "Inviato da: $primo
    il $data alle ore $ora
    __________________________________________________ __________

    $campo1 : $primo
    $campo3 $terzo
    $campo4 $quarto
    $campo5 $quinto
    $campo6 $sesto
    $campo2 : $secondo
    $campo2a $secondoa
    $campo7 $settimo
    $campo8 $ottavo
    $campo9 $nono

    $campo_messaggio: $messaggio
    $campo10 $decimo
    $campo11 $undicesimo

    IP: $ipadress
    Referrer: $referer
    __________________________________________________ __________", "From: $primo <$secondo>");


    }

    ?>

    </td>
    </tr>
    </table>




    <p align="center">
    <font face="Arial" size="3">
    <?
    echo "<a href=\"#\" onclick=\"history.go(-1)\">Indietro</a>";
    ?>
    </font>
    </p>


    <font face="Arial" size="3">
    <p align="center">Condizioni di vendita
    <p align="center">Home[img]image001.gif[/img]
    [img]image002.gif[/img]
    </p>
    </font>

    </body>

    </html>

  4. #4
    Bene, intanto se questo script ti funziona vuol dire che hai la direttiva 'register_globals' su ON ed è sconsigliato in termini di sicurezza, se cerchi nel forum troverai abbastanza roba a riguardo.

    Poi inizia col sostituire tutti i vari $primo, $terzo, etc.. con $_POST['primo'], $_POST['terzo'], etc...

  5. #5
    Ho dato una occhiata ricercando sul forum 'register_globals' ma per me è troppo complesso...
    Da quanto mi dici dovrei impostare 'register_globals' su off, come si fa ?

  6. #6
    ho modificato il file invia.php in questo modo ma non funziona più !

    <?
    require ("config.posta.php");

    ######## POTETE INSERIRE IL CODICE HTML PER PERSONALIZZARE LA PAGINA #####
    ?>
    <html>
    <head>
    <title>Grazie</title>

    <SCRIPT language="JavaScript">
    <!--
    if(document.layers){
    document.write("<link rel='stylesheet' href='stileNN.css' type='text/css'>");
    }
    if(document.all){
    document.write("<link rel='stylesheet' href='stile.css' type='text/css'>");
    }
    if(document.getElementById){
    document.write("<link rel='stylesheet' href='stile.css' type='text/css'>");
    }
    //-->
    </SCRIPT>

    </head>
    <body topmargin="50" margineight="50">
    <table border="5" width="400" align="center">
    <tr>
    <td>


    <?
    if ($_POST['primo'] == "")
    {
    echo "<table cellspacing=\"2\" cellpadding=\"2\" width=\"98%\" align=\"center\" class=\"tabella\">
    <tr>
    <td><div align=\"center\"><cite>Attenzione! Non ha compilato il campo</cite> <font color=\"red\">$campo1</font></div></td>
    </tr></table>" ;
    }
    elseif ($_POST['terzo'] == "")
    {
    echo "<table cellspacing=\"2\" cellpadding=\"2\" width=\"98%\" align=\"center\" class=\"tabella\">
    <tr>
    <td><div align=\"center\"><cite>Attenzione! Non ha compilato il campo</cite> <font color=\"red\">$campo3</font></div></td>
    </tr></table>" ;
    }
    elseif ($_POST['quarto'] == "")
    {
    echo "<table cellspacing=\"2\" cellpadding=\"2\" width=\"98%\" align=\"center\" class=\"tabella\">
    <tr>
    <td><div align=\"center\"><cite>Attenzione! Non ha compilato il campo</cite> <font color=\"red\">$campo4</font></div></td>
    </tr></table>" ;
    }
    elseif ($_POST['quinto'] == "")
    {
    echo "<table cellspacing=\"2\" cellpadding=\"2\" width=\"98%\" align=\"center\" class=\"tabella\">
    <tr>
    <td><div align=\"center\"><cite>Attenzione! Non ha compilato il campo</cite> <font color=\"red\">$campo5</font></div></td>
    </tr></table>" ;
    }
    elseif ($_POST['secondo'] == "")
    {
    echo "<table cellspacing=\"2\" cellpadding=\"2\" width=\"98%\" align=\"center\" class=\"tabella\">
    <tr>
    <td><div align=\"center\"><cite>Attenzione! Non ha compilato il campo</cite> <font color=\"red\">$campo2</font></div></td>
    </tr></table>" ;
    }
    else
    {
    echo "<table cellspacing=\"2\" cellpadding=\"2\" width=\"98%\" align=\"center\" class=\"tabella\">
    <tr>
    <td><div align=\"center\"><cite>$_POST['messaggio_inviato']</cite></div></td>
    </tr></table>";




    mail("$_POST['tua_email']","Modulo Contatti",

    "Inviato da: $_POST['primo']
    il $_POST['data'] alle ore $_POST['ora']
    __________________________________________________ __________

    $campo1 : $_POST['primo']
    $campo3 $_POST['terzo']
    $campo4 $_POST['quarto']
    $campo5 $_POST['quinto']
    $campo6 $_POST['sesto']
    $campo2 : $_POST['secondo']
    $campo2a $_POST['secondoa']
    $campo7 $_POST['settimo']
    $campo8 $_POST['ottavo']
    $campo9 $_POST['nono']

    $campo_messaggio: $_POST['messaggio']
    $campo10 $_POST['decimo']
    $campo11 $_POST['undicesimo']

    IP: $_POST['ipadress']
    Referrer: $_POST['referer']
    __________________________________________________ __________", "From: $_POST['primo'] <$_POST['secondo']>");


    }

    ?>

    </td>
    </tr>
    </table>




    <p align="center">
    <font face="Arial" size="3">
    <?
    echo "<a href=\"#\" onclick=\"history.go(-1)\">Indietro</a>";
    ?>
    </font>
    </p>


    <font face="Arial" size="3">
    <p align="center">Condizioni di vendita
    <p align="center">Home[img]image001.gif[/img]
    [img]image002.gif[/img]
    </p>
    </font>

    </body>

    </html>

  7. #7
    Sapete dirmi come modificare la direttiva 'register_globals' su OFF ?
    Grazie
    Pier

  8. #8
    Originariamente inviato da Piermy
    Sapete dirmi come modificare la direttiva 'register_globals' su OFF ?
    Grazie
    Pier
    register_globals - PHP_INI_PERDIR 2

    Parametro che può essere impostato in php.ini, .htaccess oppure in httpd.conf

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Per me che sono alle prime armi significa ?

  10. #10
    Originariamente inviato da Piermy
    Per me che sono alle prime armi significa ?
    significa lo stesso sia se sei alle prime armi che alle ultime.

    Apri il file php.ini, modifichi la voce interessata da ON a OFF salvi e restarti apache.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.