Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] IMgallery-zabezpieczenie wpisu do księgi
Forum PHP.pl > Forum > Gotowe rozwiązania
af2p
Witam
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:
  1. <?php
  2. //======eVisualConfirm======
  3. // Konfiguracja
  4. $Chars = array_merge (range ('A', 'Z'), range ('1', '9')); // Zbiór znaków używanych w potwierdzeniu
  5. $Length = 5; // Ilość znaków
  6. $IgnoreCase = 1; // Ignorowanie rozmiaru znaków przy sprawdzaniu poprawności tekstu (1 - tak, 0 - nie)
  7. $DestinationHeight = 0; // Ostateczna wysokość obrazka w pikselach (0 - domyślna, 50 pikseli)
  8. $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)
  9. //===
  10. $_SESSION['DHeight'] = $DestinationHeight;
  11. if (isset ($_SESSION['e_VCText']) && isset ($_POST['e_VCText'])) {
  12.  if ($CharsNumbers) {
  13. $VCText = '';
  14. for ($i = 0; $i < count ($CharsNumbers); $i++) $VCText.= $_SESSION['e_VCText'][$CharsNumbers[$i]];
  15. }
  16.  else $VCText = $_SESSION['e_VCText'];
  17.  define ('e_VC', (($IgnoreCase && strtoupper ($VCText) == strtoupper ($_POST['e_VCText'])) || (!$IgnoreCase && $VCText == $_POST['e_VCText']))?1:0);
  18.  }
  19. $_SESSION['e_VCText'] = '';
  20. for ($i = 0; $i < $Length; $i++) $_SESSION['e_VCText'].= $Chars[mt_rand (0, count ($Chars) - 1)];
  21. ?>


Dalsza część kodu wygląda następująco:

  1. <?
  2. $s_id = session_id();
  3.  
  4. //połączenie z bazą danych
  5. require("conf.php");
  6. @$con=mysql_connect ("$adres_serwera_mysql","$nazwa_uzytkownika_mysql","$haslo_do_bazy");
  7. mysql_select_db("$nazwa_bazy_danych");
  8. if (mysql_error()) {include("komunikaty/mysql_bl.php");exit;}
  9. //koniec połączenia z bazą danych
  10.  
  11. include("include/ustawienia_conf.php");//pobieranie ustawień ... conf ... z bazy danych
  12.  
  13. if($run_gzip === "T") {
  14. require("include/gzip.php");//dodaje kompresję gzip
  15. }
  16.  
  17.  
  18. include("include/funkcje.php");//inkluduje plik z funkcjami
  19. require("motywy/$motyw/instr.php");//dodaje definicje niektórych elementów motywu
  20. require("include/ip_bans.php");//sprawdza czy ip gościa nie jest zablokowany
  21.  
  22. if ($haslo_wyb and $haslo_inf) include("include/weryf.php"); //Jeśli galeria jest dostępna na hasło przenosi do weryfikacji
  23. if (!$pokazac_ksiege) {echo "Dostęp do księgi został zablokowany przez administratora"; exit;}//jeśli księga jest wyłączona
  24.  
  25. ?>
  26. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  27. <HTML>
  28. <HEAD>
  29.  
  30.  
  31. <LINK REL="Stylesheet" HREF="motywy/<?echo $motyw;?>/style/style.css" TYPE="text/css">
  32. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-2" />
  33. <meta name="author" content="Dariusz Niemiec" />
  34. <meta name="description" content="Galeria zdjęć" />
  35. <meta name="keywords" content="Galeria zdjęć" />
  36. <meta name="copyright" content="Dariusz Niemiec" />
  37. <meta http-equiv="content-language" content="pl" />
  38. <meta name="robots" content="NOINDEX" />
  39. <meta name="distribution" content="GLOBAL" />
  40. <TITLE>Księga gości</TITLE>
  41.  
  42.  <script>
  43. <!--
  44. function displayWindow(url, width, height) {
  45. var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=0,scrollbars=0,menubar=no' );
  46. }
  47. //-->
  48. </SCRIPT>
  49.  
  50.  
  51. <script LANGUAGE="JavaScript">
  52. function selecturl(s) {
  53. var gourl = s.options[s.selectedIndex].value; window.top.location.href = gourl;
  54.  }
  55. </SCRIPT>
  56. </HEAD>
  57.  
  58. <body>
  59.  
  60. <table class="tabela_centralna"><tr><td>
  61.  
  62. <?require("inc_roz/naglowek.php");?><!-- nagłówek strony -->
  63. <?require("include/wyszukiwarka.php");?><!-- wyszukiwarka -->
  64.  
  65.  
  66.  
  67. <!-- menu -->
  68.  
  69. <TABLE BORDER="0" WIDTH="<? echo $szerokosc_menu;?>" CELLPADDING="0" CELLSPACING="0"><tr><td>
  70. <TABLE class="menu" BORDER="0" WIDTH="<?echo $ico_width*3;?>" CELLPADDING="0" CELLSPACING="0"><tr>
  71.  
  72. <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>
  73. <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>
  74. <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>
  75.  
  76. </tr></table></td>
  77.  
  78. <td width="<?echo $ico_width;?>">
  79. <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>
  80. </td>
  81. </tr>
  82. </table>
  83.  
  84. <!-- koniec menu -->
  85.  
  86. <!-- główna ramka treści strony -->
  87.  
  88. <TABLE BORDER="0" WIDTH="<?echo $szerokosc_ramki_glownej;?>" CELLPADDING="0" CELLSPACING="0"><tr>
  89. <td class="rog_g_lew" width="5"></td>
  90. <td class="pasek">
  91. Tu możesz dodać swój wpis do księgi kości
  92. </td>
  93. <td class="pasek_prawy_x"><a class="a11" href="index.php">X</a></td>
  94. <td class="rog_g_pra" width="5"></td>
  95. </tr>
  96. </table>
  97.  
  98.  
  99. <TABLE BORDER="0" WIDTH="<?echo $szerokosc_ramki_glownej;?>" CELLPADDING="0" CELLSPACING="0"><tr>
  100. <td class="ramka_l" width="1"></td>
  101. <td class="formularze">
  102.  
  103.  
  104.  <!-- sprawdzanie czy pole nick jest wypełnione -->
  105.  
  106.  <script language="javascript" type="text/javascript">
  107.  <!--
  108.  function sprawdz(t) {
  109.  maska = /^ *$/;
  110.  if (maska.test(t.nick.value)) {
  111.  alert("Proszę wypełnić pole: Imię lub nick");
  112.  return false;
  113.  }
  114.  return true;
  115.  }
  116.  // -->
  117.  </script>
  118.  
  119.  <!-- koniec sprawdzania -->
  120.  
  121. <form name="" action="dodaj_wpis1.php" method="POST" onsubmit="return sprawdz(this);">
  122.  
  123. <INPUT TYPE="hidden" NAME="data" size="20" value="<? print (Date("Y-m-d")); ?>">
  124.  
  125. Imię lub nick<br />
  126. <input class="form14" type="text" name="nick" value="" size="50" MAXLENGTH="19"/><br />
  127.  
  128. Treść<br />
  129. <TEXTAREA class="form14" NAME="tresc" value="" ROWS=10 COLS=85> </TEXTAREA><br />
  130. <img src="image.php" alt="Jeżeli nie widzisz tego obrazka kliknij odśwież i spróbuj ponownie" /><br>
  131.  
  132. <input name="e_VCText" type="text" size="9">
  133.  
  134. <br /><input class="e_VCText" type="submit" value="Dodaj wpis" />
  135.  
  136. </form>
  137.  
  138. </td>
  139.  
  140. <td class="ramka_p" width="1"></td>
  141. </tr>
  142. </table>
  143.  
  144. <TABLE BORDER="0" WIDTH="<?echo $szerokosc_ramki_glownej;?>" CELLPADDING="0" CELLSPACING="0">
  145. <tr>
  146. <td class="pasek_dol_700"></td>
  147. </tr>
  148. </table>
  149.  
  150. <!-- stopka -->
  151.  
  152. <TABLE BORDER="0" WIDTH="1" height="<?echo $odleglosc_stopki_od_ramki;?>"CELLPADDING="0" CELLSPACING="0"><tr><td></td></tr></table>
  153.  
  154. <? require("inc_roz/stopka.php"); ?>
  155.  
  156. <!-- koniec stopki -->
  157.  
  158. </td></tr></table>
  159.  
  160. </body></html>
  161.  
  162.  
  163. <? if ($run_gzip === "T") {ob_end_flush();} ?>



Dodawanie wpisów przetwarzane jest w pliku : dodaj_wpis_1 oto on :
  1. <?
  2. header("Location: ksiega.php");
  3.  
  4. //połączenie z bazą danych
  5. require("conf.php");
  6. @$con=mysql_connect ("$adres_serwera_mysql","$nazwa_uzytkownika_mysql","$haslo_do_bazy");
  7. mysql_select_db("$nazwa_bazy_danych");
  8. if (mysql_error()) {include("komunikaty/mysql_bl.php");exit;}
  9. //koniec połączenia z bazą danych
  10.  
  11. include("include/funkcje.php");
  12.  
  13.  
  14. if (strlen($_POST['tresc'])>3) {
  15.  
  16. $nick = $_POST['nick'];
  17. $data = $_POST['data'];
  18. $tresc = $_POST['tresc'];
  19.  
  20. $tresc = ereg_replace("}", " ", $tresc);
  21. $tresc = ereg_replace("{", " ", $tresc);
  22. $tresc = ereg_replace("<", " ", $tresc);
  23. $tresc = ereg_replace(">", " ", $tresc);
  24. $tresc = ereg_replace("rn","<br>",$tresc);
  25. $tresc = ereg_replace("nbsp; ", " ", $tresc);
  26.  
  27. $ip = pobierz_ip();
  28.  
  29. $dodaj=mysql_query("INSERT INTO ksiega (nick,data,tresc,ip) VALUES ('$nick','$data','$tresc','$ip')");
  30. }
  31. ?>


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
revyag
przenoszę na gotowe skrypty
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.