Chciałem zabezpieczyć księgę gości w galerii IMGallery generatorem kodów. Polecono mi Ten skrypt
Poniższy kod należało dodać do pliku odpowiedzialnego za dodawanie wpisów:
<?php //======eVisualConfirm====== // Konfiguracja $Chars = array_merge (range ('A', 'Z'), range ('1', '9')); // Zbiór znaków używanych w potwierdzeniu $Length = 5; // Ilość znaków $IgnoreCase = 1; // Ignorowanie rozmiaru znaków przy sprawdzaniu poprawności tekstu (1 - tak, 0 - nie) $DestinationHeight = 0; // Ostateczna wysokość obrazka w pikselach (0 - domyślna, 50 pikseli) $CharsNumbers = array (); // Numery wybranych znaków do przepisania, w podanej kolejności liczone od zera (array (2, 3, 1) - przepisz znak trzeci, czwarty i drugi; array () - przepisz wszystkie znaki w normalnej kolejności) //=== $_SESSION['DHeight'] = $DestinationHeight; if ($CharsNumbers) { $VCText = ''; } else $VCText = $_SESSION['e_VCText']; define ('e_VC', (($IgnoreCase && strtoupper ($VCText) == strtoupper ($_POST['e_VCText'])) || (!$IgnoreCase && $VCText == $_POST['e_VCText']))?1:0); } $_SESSION['e_VCText'] = ''; ?>
Dalsza część kodu wygląda następująco:
<? //połączenie z bazą danych require("conf.php"); //koniec połączenia z bazą danych include("include/ustawienia_conf.php");//pobieranie ustawień ... conf ... z bazy danych if($run_gzip === "T") { require("include/gzip.php");//dodaje kompresję gzip } include("include/funkcje.php");//inkluduje plik z funkcjami require("motywy/$motyw/instr.php");//dodaje definicje niektórych elementów motywu require("include/ip_bans.php");//sprawdza czy ip gościa nie jest zablokowany if ($haslo_wyb and $haslo_inf) include("include/weryf.php"); //Jeśli galeria jest dostępna na hasło przenosi do weryfikacji ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-2" /> <meta name="author" content="Dariusz Niemiec" /> <meta name="description" content="Galeria zdjęć" /> <meta name="keywords" content="Galeria zdjęć" /> <meta name="copyright" content="Dariusz Niemiec" /> <meta http-equiv="content-language" content="pl" /> <meta name="robots" content="NOINDEX" /> <meta name="distribution" content="GLOBAL" /> <TITLE>Księga gości</TITLE> <script> <!-- function displayWindow(url, width, height) { var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=0,scrollbars=0,menubar=no' ); } //--> </SCRIPT> <script LANGUAGE="JavaScript"> function selecturl(s) { var gourl = s.options[s.selectedIndex].value; window.top.location.href = gourl; } </SCRIPT> </HEAD> <body> <table class="tabela_centralna"><tr><td> <?require("inc_roz/naglowek.php");?><!-- nagłówek strony --> <?require("include/wyszukiwarka.php");?><!-- wyszukiwarka --> <!-- menu --> </tr></table></td> </td> </tr> </table> <!-- koniec menu --> <!-- główna ramka treści strony --> <td class="rog_g_lew" width="5"></td> <td class="pasek"> Tu możesz dodać swój wpis do księgi kości </td> <td class="pasek_prawy_x"><a class="a11" href="index.php">X</a></td> <td class="rog_g_pra" width="5"></td> </tr> </table> <td class="ramka_l" width="1"></td> <td class="formularze"> <!-- sprawdzanie czy pole nick jest wypełnione --> <script language="javascript" type="text/javascript"> <!-- function sprawdz(t) { maska = /^ *$/; if (maska.test(t.nick.value)) { alert("Proszę wypełnić pole: Imię lub nick"); return false; } return true; } // --> </script> <!-- koniec sprawdzania --> <form name="" action="dodaj_wpis1.php" method="POST" onsubmit="return sprawdz(this);"> Imię lub nick<br /> <input class="form14" type="text" name="nick" value="" size="50" MAXLENGTH="19"/><br /> Treść<br /> <TEXTAREA class="form14" NAME="tresc" value="" ROWS=10 COLS=85> </TEXTAREA><br /> <img src="image.php" alt="Jeżeli nie widzisz tego obrazka kliknij odśwież i spróbuj ponownie" /><br> <input name="e_VCText" type="text" size="9"> <br /><input class="e_VCText" type="submit" value="Dodaj wpis" /> </form> </td> <td class="ramka_p" width="1"></td> </tr> </table> <tr> <td class="pasek_dol_700"></td> </tr> </table> <!-- stopka --> <TABLE BORDER="0" WIDTH="1" height="<?echo $odleglosc_stopki_od_ramki;?>"CELLPADDING="0" CELLSPACING="0"><tr><td></td></tr></table> <? require("inc_roz/stopka.php"); ?> <!-- koniec stopki --> </td></tr></table> </body></html>
Dodawanie wpisów przetwarzane jest w pliku : dodaj_wpis_1 oto on :
<? //połączenie z bazą danych require("conf.php"); //koniec połączenia z bazą danych include("include/funkcje.php"); $nick = $_POST['nick']; $data = $_POST['data']; $tresc = $_POST['tresc']; $ip = pobierz_ip(); $dodaj=mysql_query("INSERT INTO ksiega (nick,data,tresc,ip) VALUES ('$nick','$data','$tresc','$ip')"); } ?>
Dodawanie wpisów odbywa się ciągle bez konieczności podawania kodu, przez co zaśmiecana jest strasznie spamami.
Bardzo prosze o pomoc.
Pozdrawiam
Patryk