Witam
Chciałem zabezpieczyć księgę gości w galerii IMGallery generatorem kodów. Polecono mi
Ten skryptPoniższy kod należało dodać do pliku odpowiedzialnego za dodawanie wpisów:
<?php
//======eVisualConfirm======
// Konfiguracja
$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 (isset ($_SESSION['e_VCText']) && isset ($_POST['e_VCText'])) { if ($CharsNumbers) {
$VCText = '';
for ($i = 0; $i < count ($CharsNumbers); $i++) $VCText.= $_SESSION['e_VCText'][$CharsNumbers[$i]]; }
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'] = '';
for ($i = 0; $i < $Length; $i++) $_SESSION['e_VCText'].= $Chars[mt_rand (0
, count ($Chars) - 1
)]; ?>
Dalsza część kodu wygląda następująco:
<?
//połączenie z bazą danych
require("conf.php");
@$con=mysql_connect ("$adres_serwera_mysql","$nazwa_uzytkownika_mysql","$haslo_do_bazy"); if (mysql_error()) {include("komunikaty/mysql_bl.php");exit
;} //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
if (!$pokazac_ksiege) {echo "Dostęp do księgi został zablokowany przez administratora"; exit;}//jeśli księga jest wyłączona
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<LINK REL="Stylesheet" HREF="motywy/
<?echo $motyw;?>/style/style.css" TYPE="text/css">
<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 -->
<TABLE BORDER="0" WIDTH="
<? echo $szerokosc_menu;?>" CELLPADDING="0" CELLSPACING="0"><tr><td>
<TABLE class="menu" BORDER="0" WIDTH="
<?echo $ico_width*3;?>" CELLPADDING="0" CELLSPACING="0"><tr>
<td valign="middle"><a href="index.php"><img src="motywy/
<?echo $motyw;?>/grafika/home.gif" alt="Strona główna" width="
<?echo $ico_width;?>" height="
<?echo $ico_height;?>" border="0" hspace="1" vspace="0" align="middle"></a></td>
<td valign="middle"><a href="kategorie.php?start=0"><img src="motywy/
<?echo $motyw;?>/grafika/galeria.gif" alt="Przejdź do galerii" width="
<?echo $ico_width;?>" height="
<?echo $ico_height;?>" border="0" hspace="1" vspace="0" align="middle"></a></td>
<td WIDTH="
<?echo $ico_width*3;?>" valign="middle">
<?if ($pokazac_ksiege) {echo "<img src="motywy
/$motyw/grafika
/ksiega1
.gif
" alt="Księga gości
" width="$ico_width" height="$ico_height" border="0" hspace="1" vspace="0" align="middle
">";}?></td>
</tr></table></td>
<td width="
<?echo $ico_width;?>">
<a href="ksiega.php"><img src="motywy/
<?echo $motyw;?>/grafika/ksiega.gif" alt="Powrót do księgi gości" width="
<?echo $ico_width;?>" height="
<?echo $ico_height;?>" border="0" hspace="1" vspace="0" align="middle"></a>
</td>
</tr>
</table>
<!-- koniec menu -->
<!-- główna ramka treści strony -->
<TABLE BORDER="0" WIDTH="
<?echo $szerokosc_ramki_glownej;?>" CELLPADDING="0" CELLSPACING="0"><tr>
<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>
<TABLE BORDER="0" WIDTH="
<?echo $szerokosc_ramki_glownej;?>" CELLPADDING="0" CELLSPACING="0"><tr>
<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);">
<INPUT TYPE="hidden" NAME="data" size="20" value="
<? print (Date("Y-m-d")); ?>">
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>
<TABLE BORDER="0" WIDTH="
<?echo $szerokosc_ramki_glownej;?>" CELLPADDING="0" CELLSPACING="0">
<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 :
<?
header("Location: ksiega.php");
//połączenie z bazą danych
require("conf.php");
@$con=mysql_connect ("$adres_serwera_mysql","$nazwa_uzytkownika_mysql","$haslo_do_bazy"); if (mysql_error()) {include("komunikaty/mysql_bl.php");exit
;} //koniec połączenia z bazą danych
include("include/funkcje.php");
if (strlen($_POST['tresc'])>3
) {
$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