![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 11.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam taki formularz na swojej stronie i nie umiem go dobrze zabezpieczyć przed robotami. To mój formularz: Cytat <? /* */ if ($_POST['message']) { /* uncomment the next two lines to strip out html from input */ /* $name = strip_tags($name); */ /* $message = strip_tags($message); */ $_POST['message'] = ereg_replace("\r\n\r\n", "\n<P>", $_POST['message']); $date = date("l, F j Y, h:i a"); $_POST['message'] = "<B><p>{$_POST['nick']} </B> -- $date<BR>{$_POST['typ1']}<br>{$_POST['typ2']}<br>{$_POST['typ3']}<br>{$_POST['typ4']}<br>{$_POST['typ5']}<br>{$_POST['typ6']}<br><P>{$_POST['typ7']}<br>{$_POST['typ8']}<BR><b>AKO:{$_POST['ako']}</b><br>{$_POST['message']} <BR></p><HR>"; $fp = fopen (basename($PHP_SELF) . ".commentkupony", "a"); fwrite ($fp, $_POST['message']); fclose ($fp); } @readfile(basename(($PHP_SELF . ".commentkupony"))); ?> <form method="post"> <p> <label>Nick</label><input name="nick" type="text" size="30" /> <label>Typ nr 1 (np. Polska - Niemcy 1 2,50)</label><input name="typ1" type="text" size="65" /> <label>Typ nr 2</label><input name="typ2" type="text" size="65" /> <label>Typ nr 3</label><input name="typ3" type="text" size="65" /> <label>Typ nr 4</label><input name="typ4" type="text" size="65" /> <label>Typ nr 5</label><input name="typ5" type="text" size="65" /> <label>Typ nr 6</label><input name="typ6" type="text" size="65" /> <label>Typ nr 7</label><input name="typ7" type="text" size="65" /> <label>Typ nr 8</label><input name="typ8" type="text" size="65" /> <label>Kurs ogólny (np, 12,89)</label><input name="ako" type="text" size="20" /> <label>Kilka słów o kuponie<br>Można podać krótk± analize lub co innego ![]() </textarea><br> <b>Nie trzeba wypełniać wszystkich pól z typami !</b><br><br> <input class="button" name="submit" type="submit" value="Dodaj Twój Kupon"> </p> </form> To natomiast skrypt zabezpieczeń które chce wprowadzić. Oczywiście wiem, że muszę pozmieniać nazwy "name" "surname" "content" na nazwy pól z mojego formularza. Rzecz w tym, że gdy wplatam treść tego skryptu to formularz nie działa. A jako błąd pokazuje linijkę z checkfield. Gdzie wkleić ten skrypt ? Co zrobić, żeby działało poprawnie ? Proszę o pomoc Cytat <?php
// Formularz zawiera 3 pola: // surname - nazwisko uzytkownika // name - imie uzytkownika // content - tresc wiadomosci if ( !empty($_POST['content']) && !empty($_POST['surname']) && !empty($_POST['name'])) { // sprawdzamy czy wszystkie pola zostaly wypelnione $error=false; if (!checkField($_POST['content'])) $error=true; // sprawdzamy zawartosc "niechcianych" naglowkow if (!checkField($_POST['surname'])) $error=true; if (!checkField($_POST['name'])) $error=true; if (strlen($_POST['surname'])>40) $error=true; // sprawdzamy dlugosc zmiennych if (strlen($_POST['name'])>40) $error=true; if (strlen($_POST['content'])>1024) $error=true; if (!$error) { // jesli nie wykryto "bledow" mail(...) // wysylamy wiadomosc } } function checkField($field) { $badTags=array('MIME-Version','BCC','Content-Transfer-Encoding','[url','[/url]','cc:','MIME format','Content-Type'); foreach ($badTags as $badTag) { if (stristr($field,$badTag)) { return false; } } return true; } ?> |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 23:32 |