Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wstawienie Capcha
Forum PHP.pl > Inne > Giełda ofert > Poszukuję
guto

Czy pomógłby mi ktoś wprowadzić capcha do komentarzy. Pod spodem przesyłam mój plik coment.php
Jeśli jest potrzeba zapłacę za pomoc, za dobrą radę dziękuje. Pozdrawiam

  1. function comm_form() {
  2.  
  3. global $PHP_SELF, $what, $id, $f_author, $f_mail;
  4.  
  5.  
  6.  
  7.  
  8.  
  9. $info = get_user_info();
  10.  
  11. if(is_user_login()=='yes') {
  12.  
  13. echo '<form name="comments" method="post" action="'.$PHP_SELF.'">
  14. <table border="0" cellspacing="3" cellpadding="0" align="center">
  15. <tr>
  16. <td class="uni_01" valign="top"><div align="right"><b>pseudonim</b></div></td>
  17. <td class="uni_01">';
  18.  
  19. if(is_user_login()=='yes') echo '<b>'.$info[1].'<input type="hidden" name="imie" value="'.$info[1].'">';
  20. else
  21. echo '<input type="text" name="imie" size="30" value="'.$GLOBALS[f_author].'">';
  22.  
  23. echo '</td>
  24. </tr>
  25. <tr>
  26. <td class="uni_01"z><div align="right"><b>e-mail</div></td>
  27. <td class="uni_01">';
  28.  
  29. if(is_user_login()=='yes') echo '<b>'.$info[2].'<input type="hidden" name="mail" value="'.$info[2].'">';
  30. else
  31. echo '<input type="text" name="mail" size="30" value="'.$GLOBALS[f_mail].'">';
  32.  
  33. echo '</td>
  34. </tr>
  35.  
  36. <tr>
  37. <td class="uni_01" valign="top"><div align="right"><b>treść</div></td>
  38. <td class="uni_01">
  39. <textarea name="text" rows="10" cols="45"></textarea>
  40. </td>
  41. </tr>
  42. <tr>
  43. <td align="right" class="uni_01">&nbsp;</td>
  44. <td class="uni_01">
  45. <input style="font-weight: bold;" type="submit" name="ok" value="dopisz">
  46. <input type="reset" name="Reset" value="wyczyść">
  47. <input type="hidden" name="id" value="'.$id.'">
  48. <input type="hidden" name="what" value="'.$what.'">
  49. <input type="hidden" name="act" value="add">
  50. </td>
  51. </tr>
  52. </table>
  53.  
  54. </center>
  55.  
  56. </form>
  57.  
  58.  
  59.  
  60.  
  61.  
  62. }
  63.  
  64. if(is_user_login()!='yes') {
  65.  
  66. echo '<center><span style="color: #3299CC;">Niestety, ale tylko zalogowani użytkownicy mogą dodawać komentarze...</span></center><br>';
  67. }
  68.  
  69.  
  70. }
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79. # sprawdza poprawnosc podanych danych we formie
  80.  
  81. function check_comm() {
  82.  
  83. global $title, $text, $imie, $mail;
  84. global $aa, $bb, $anty_f_tbl, $REMOTE_ADDR;
  85.  
  86. $a = 0;
  87.  
  88. if (spam_cenzor($text)) $a++;
  89. if (spam_cenzor($title)) $a++;
  90. if (spam_cenzor($imie)) $a++;
  91.  
  92.  
  93. if($mail=='') {
  94. $mail = 'anonim';
  95. } else {
  96. if (!ereg ("^.+@.+\..+$", $mail)) {
  97.  
  98. $a++;
  99. $bb = "<br><br>Niepoprawny adres e-mail! Jeżeli nie chcesz go podać,
  100. po prostu zostaw puste pole.";
  101. }
  102. }
  103.  
  104. if($a<>0) $aa = "Formularz wypełniony niepoprawnie. Musisz wypełnić
  105. wszystkie pola oprócz e-mail! albo próbujesz coś zareklamować co nie zostanie dopisane !!!";
  106.  
  107. if($a == 0) {
  108.  
  109. $anty = 0;
  110. $now = time();
  111. $ok_time = time() + 60;
  112. @mysql_query("DELETE FROM $anty_f_tbl WHERE what='komentarze' AND time < '$now'");
  113. $antyflood = @mysql_query("SELECT * FROM $anty_f_tbl WHERE what='komentarze' AND ip='$REMOTE_ADDR'");
  114. $flood = @mysql_num_rows($antyflood);
  115. if($flood <> '0') {
  116. $anty++;
  117. } else {
  118. @mysql_query("INSERT INTO $anty_f_tbl VALUES (NULL,'$REMOTE_ADDR', '$ok_time', 'komentarze', '$id');");
  119. }
  120.  
  121. }
  122.  
  123. if($anty<>0) $aa = "Ochrona antyflood! Przed dodaniem kolejnego wpisu prosimy odczekac minute!";
  124. $a = $a + $anty;
  125.  
  126. if($a==0) return 10;
  127. }
  128.  
  129.  
  130. function is_news() {
  131. global $news_tbl, $art_tbl, $id, $what;
  132. global $comm_tbl;
  133.  
  134. $id = (int)$id;
  135. if($what=='news') $result = mysql_query("SELECT * FROM $news_tbl WHERE id='$id' AND stat <> 3");
  136. if($what=='article') $result = mysql_query("SELECT * FROM $art_tbl WHERE id='$id'");
  137.  
  138.  
  139. $r = mysql_num_rows($result);
  140. echo mysql_error();
  141.  
  142. if($r>0) return 'yes'; else return 'no';
  143.  
  144. }
  145.  
  146.  
  147. function xss_remove($text)
  148. {
  149. $text = str_replace ("/(<(.)script([^>]+)>|<img([^>]+)>|<(.)iframe([^>]+)>)/si", "", $text);
  150. return $text;
  151. }
  152.  
  153.  
  154.  
  155. ?>
miras
Zalezy o jaką capchte Ci chodzi, czy o gotowy skrypt, czy o proste generowanie jakiegoś ciągu znaków na obrazku, czy na jakimś tle..
guto
Chodzi mi o prosty kod zabezpieczajacy przed spamem. Prosze o pomoc.
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-2025 Invision Power Services, Inc.