Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php - formularz] kod na boty ; >
Forum PHP.pl > Forum > PHP
e-jox
No więc tak... napisalem z pomoca pewnych kursów i przepisow na skrypty skrypty podstawowej ksiegi gości... ale nie wiem jak zrobić by boty mi sie do niej nie wpisywaly : )

Nie wiem jak zrobić by mi sprawdzało czy zmienna jest wpisana do pola czy też nie....
Poniżej prezentuje kody z php ktore sa cześcia : ) Nie wiem jak zrobić by formularz wysylal rowniez sprawdzenie zmiennej... help 
e ?

ksiega.php
  1. <?php
  2.  $obst = rand(0, 100000000); //losujemy liczbę od 0 do 100000000 i przypisujemy ją do zmiennej obst
  3.  session_start(); //uruchamiamy sesję
  4.  session_register('obst'); //dla sesji rejestrujemy obst
  5.  $_SESSION['obst']=$obst; //przypisanie zawartości zmiennej obst do obst
  6.  $sprawdz = md5(md5($obst)); //generujemy 32-bitowy token zawartości zmiennej obst za pomocą algorytmu md5 i przypisujemy go 
    do zmiennej sprawdz
  7.  $_SESSION['sprawdz']=$sprawdz;
  8.  ?>


  1. <form action="ksiega/ksiega.php"
  2. method="post"><br />
  3.  
  4. Wpisów: x <br /><br />
  5. Żeby wpis został zaakceptowany uzupełnij każde pole (np. przez słówko "brak":)<br /><br />
  6.  
  7. Autor&nbsp;:
  8. <input name="autor_txt" size="40">
  9. <br /><br /><br />
  10.  
  11. GG&nbsp;&nbsp;&nbsp;&nbsp;:
  12. <input name="gg_txt" size="40">
  13. <br /><br /><br />
  14.  
  15. Tlen&nbsp;&nbsp;:
  16. <input name="tlen_txt" size="40">
  17. <br /><br /><br />
  18.  
  19. Skype&nbsp;:
  20. <input name="skype_txt" size="40">
  21. <br /><br /><br />
  22.  
  23. Mail&nbsp;&nbsp;:
  24. <input name="mail_txt" size="40">
  25. <br /><br /><br />
  26.  
  27. Miasto:
  28. <input name="miasto_txt" size="40">
  29. <br /><br /><br />
  30.  
  31. Treść:<br>
  32. <textarea name="tresc_txt"
  33. rows="10" cols="40" >
  34.  
  35. <img src="ksiega/obraz.php">
  36. <FORM action="ksiega/raz.php" Method="post"><br /><br />
  37. Tutaj przepisz kod z obrazka: <INPUT NAME="ID"><br /><br />
  38. <input type="submit" value="Wyślij"><br /><br /><br />


ksiega.php w katalogu ksiega - wątpie by sie przydalo ale moze...
  1. <?php
  2. $date = date( "d-m-Y" );
  3. $ip = $_SERVER["REMOTE_ADDR"];
  4. $czas = date( "H:i:s" );
  5.  
  6. $autor=$_POST["autor_txt"];
  7. $gg=$_POST["gg_txt"];
  8. $tlen=$_POST["tlen_txt"];
  9. $skype=$_POST["skype_txt"];
  10. $mail=$_POST["mail_txt"];
  11. $miasto=$_POST["miasto_txt"];
  12. $tresc=$_POST["tresc_txt"];
  13. echo "<b>Wpis dodano prawidlowo! Oto dodane dane:</b><p>\n";
  14. echo "<b>Autor:</b><br>\n";
  15. echo $autor. $ip."<p>\n";
  16. echo "<b>Data dodania:</b><br>\n";
  17. echo $date. $czas."<p>\n";
  18. echo "<b>GG:</b><br>\n";
  19. echo $gg."<p>\n";
  20. echo "<b>Tlen:</b><br>\n";
  21. echo $tlen."<p>\n";
  22. echo "<b>Skype:</b><br>\n";
  23. echo $skype."<p>\n";
  24. echo "<b>Mail:</b><br>\n";
  25. echo $mail."<p>\n";
  26. echo "<b>Miasto:</b><br>\n";
  27. echo $miasto."<p>\n";
  28. echo "<b>Treść:</b><br>\n";
  29. echo $tresc;
  30.  
  31.  
  32.  
  33.  
  34. function formatujWpis($autor,$ip,$date,$czas,$gg,$tlen,$skype,$mail,$miasto,
  35. $tresc) {
  36. $tresc=nl2br($tresc);
  37. $wpis.=" <b>Autor: </b>".
  38. $autor. ' ' .$ip. "<p>r\n";
  39. $wpis.=" <b>Data wysłania: </b>".
  40. $date. ' ' .$czas. "<p>r\n";
  41. $wpis.=" <b>GG: </b>".
  42. $gg." <p>r\n";
  43. $wpis.=" <b>Tlen: </b>".
  44. $tlen." <p>r\n";
  45. $wpis.=" <b>Skype: </b>".
  46. $skype." <p>r\n";
  47. $wpis.=" <b>Mail: </b>".
  48. $mail." <p>r\n";
  49. $wpis.=" <b>Miasto: </b>".
  50. $miasto." <p>r\n";
  51. $wpis.=$tresc." <br><br><hr><br><br> r\n";
  52. $wpis.="r\n";
  53. return $wpis;
  54. }
  55.  
  56.  
  57. function czytajWpisy() {
  58. $nazwa="ksiega.txt";
  59. if (file_exists($nazwa)) {
  60. $plik=fopen($nazwa,"r");
  61. $wpisy=fread($plik,filesize
  62. ($nazwa));
  63. fclose($plik);
  64. return $wpisy;
  65. }
  66. else return "";
  67. }
  68.  
  69.  
  70.  
  71. function zapiszWpisy($wpisy) {
  72. $nazwa="ksiega.txt";
  73. $plik=fopen($nazwa,"w");
  74. fwrite($plik,$wpisy);
  75. fclose($plik);
  76. }
  77.  
  78.  
  79.  
  80. $autor=$_POST["autor_txt"];
  81. $gg=$_POST["gg_txt"];
  82. $tlen=$_POST["tlen_txt"];
  83. $mail=$_POST["mail_txt"];
  84. $tresc=$_POST["tresc_txt"];
  85. $wpisy=czytajWpisy();
  86. if(!empty($autor) && !empty($ip) && !empty($date) && !empty($czas) && !empty($gg) && !empty($tlen) && !empty($skype) && !empty($mail) && !empty($miasto) && !empty($tresc)){
  87. $nowyWpis=formatujWpis($autor,$ip,$date,$czas,$gg,$tlen,$skype,$mail,$miasto,
  88. $tresc);
  89. $wpisy=$nowyWpis.$wpisy;
  90. zapiszWpisy($wpisy);
  91. }
  92.  
  93. echo $wpisy;
  94. ?>


obrazek.php
  1. <?php
  2. session_start(); //rozpoczynamy sesję
  3. $rand_num = mt_rand (1000000, 9999999);
  4.  
  5. $kod = $rand_num;
  6.  
  7. $wysokosc=60;
  8. $szerokosc=110;
  9. $ob=ImageCreate ($szerokosc, $wysokosc);
  10. $bialy=ImageColorAllocate ($ob, 255, 255, 255);
  11. $czarny=ImageColorAllocate ($ob, 0, 0, 0);
  12.  
  13. ImageFill ($ob, 0, 0, $czarny);
  14. ImageLine ($ob, 0, 0, $szerokosc, $wysokosc, $bialy);
  15. ImageLine ($ob, 110, 0, 0, 60, $bialy);
  16. ImageString ($ob, 10, 20, 20, $rand_num, $bialy);
  17.  
  18. Header('Content-type: image/png');
  19. ImagePng($ob);
  20.  
  21. ImageDestroy($ob);
  22.  
  23.  session_unregister('obst'); //zwalniamy z sesji obst
  24.  
  25.  
  26. ?>


zasadniczy plik sprawdzajacy
  1. <?php
  2.  $kod = md5(md5($ID)); //generujemy 32-bitowy token zawartości zmiennej ID przesłanej z formularza autoryzacja.php i pr
    zypisujemy do zmiennej kod
  3.  if ($kod==$sprawdz) //sprawdzamy czy kod się zgadza
  4.  {
  5.  echo "hasło poprawne"; //jeżeli tak wyświetlamy stosowną informację
  6.  }
  7.  else //jeżeli nie
  8.  {
  9.  echo "hasło niepoprawne"; //wyświetlamy stosowną informację
  10.  }
  11.  session_unregister('sprawdz'); //usuwamy z sesji wartość sprawdz
  12.  ?>


Moglby ktos pomoc ? : >
Napewno jest źle w tym ostatnim bo sie odnosi do zmiennej $sprawdz... ktora powinna byc w "wyslij" ale nie wiedzialem jak polaczyc... a teraz wogole... ; [

Pozdrawiam
szagi3891
Mogę opisać Ci jak to wygląda na mojej stronce. Przy każdym wygenerowanym formularzu do dodawania wpisu generowane jest dodatkowe pole ukryte. Zawiera ono zaszyfrowaną zmienną dataczas wygenerowania strony. Zasada jest prosta. Wpis jest przyjmowany jeśli dane które otrzymał skrypt opatrzone są datą która zawiera się w przedziale - (strona co najmniej 10 sekund temu została wygenerowana i nie później niź godzinę temu). Jeśli ten warunek nie jest spełniony to wpis ląduje w pliku boty.txt. Potem można sobie poprzeglądać z ciekawości biggrin.gif jak narazie jednej osoby wpis został odrzucony która próbowała napisać 14 księgę pana tadeusza. Ale nic straconego bo taka osoba otrzymuje odświeżoną stronę z treścią przekazaną w sesji więc nie ginie komentarz i może go po 10 sekundach dodać ponownie.

Z tego widziałem po necie to boty nie lubią się z js więc można z tym także zakombinować.
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.