IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Ladislav
Člen
Avatar
Ladislav:13.12.2022 8:28

Zdravím,
potřeboval bych impelmentovat do jednoduchého webového formuláře v php antispamovou ochranu. Antispamovou ochranu si představuji takovou, že robot vyplní všechná pole třeba do 5 vteřin a tím pádem ho neodešle na uvedený email.

Zkusil jsem: Formulář mám tady:

<?php

$hlaska = '';
if ($_POST) // V poli _POST něco je, odeslal se formulář
{
if (isset($_POST['fir­st_name']) && $_POST['first_na­me'])

{
$to = "[email protected]"; // this is your Email address
$from = $_POST['email']; // this is the sender's Email address
$first_name = $_POST['first_na­me'];
$last_name = $_POST['last_na­me'];
$subject = "Jmeno";
$subject2 = "Copy of your form submission";
$message = "Jméno<: " . $first_name . "\n\n" ;
$message2 = "Here is a copy of your message " . $first_name . "\n\n" . $_POST['message'];

$headers = 'From: ladislav@volny.cz\r\n';
$headers .= "\nMIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
mail($to,$sub­ject,$message,$he­aders);
mail($from,$sub­ject2,$message2, $headers); // sends a copy of the message to the sender
header('Location: nove-slovo-do-slovniku-odeslano.php');

if ($mail)
{

$hlaska = header('locati­on:/jmeno-odeslano.php');
}

}

else
$hlaska = '<table class=table-137><tr><td><div class=text-139><b>Upozor­nění:</b> Ve formuláři prosím vyplňte jméno!</div></t­d></tr></table>';
}

?>

Můžete mi posllat upravený kód s implementací této antispamové ochrany? Díky moc :-)

Chci docílit: Implementace ochrany

 
Odpovědět
13.12.2022 8:28
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:14.12.2022 8:05

"Můžete mi posllat upravený kód s implementací této antispamové ochrany?"

  1. Ne. Na to mas google.
  2. Pro php je spesl forum, php. Mel bys vetsi sanci, ze ti na to nekdo zareaguje.
  3. "robot vyplní všechná pole třeba do 5 vteřin a tím pádem ho neodešle na uvedený email" | Do 5 vterin ti zpravu dokazi odeslat.
  4. Nepouzivej primy vstup promenych do php kodu. A filtruj z nich nevyzadany obsah. Kod, ktery jsi poslal bezny hackersky program dokaze snadno napadnout a docilit treba smazani vseho, co mas na serveru. Snad tam nemas nic duleziteho jako eshop, maily od zakazniku, platby a tak :)

"robot vyplní všechná pole třeba do 5 vteřin a tím pádem ho neodešle na uvedený email"
a_) V podstate to jde resit tak, ze pri nacteni stranky vyplnis pomoci php do skryteho inputu casove razitko. A to pak zkontrolujes v php s casovym razitkem pri odeslani.
b_) Ja to resim javascriptem. Mam tam skryty input. Ktery ma nejaky text nebo nic. A ten text javascriptem prepisu. A v php si zkontroluji, zda je tam novy text. | Protoze, obvykle rozesilaci robot si stahne formular, html kod, vytvori falesne odeslani a vyplni neco do vsech policek. Skryty input bud ignoruje nebo tam vyplni nejaky text. Javascript (obvykle) v html kodu nespousti, takze ten nemuze to policko prepsat textem, ktery pak overuji v php. | Ale, to casove razitko by bylo take fajn, dalsi ochrana, treba.
a2_) To casove razitko by bylo dobre posilat jako sifrovany text, protoze by nekomu mohlo dojit, ze jde o casove razitko a prepsat jej spravne.
c_) pak mas teda moznosti ala google, overovat obrazkem nebo opsanym textem podle obrazku.
d_) Nebo, treba, ero chaty pouzivaji ochranu takovou, ze vypisou cislice jako text "kontrolni kod: osm ctyri dva" a ty je mas prepsat jako cislice
e_) nebo jsem videl na jednom forku ochranu vypsat matematicky vzorecek jako text a ty mas doplnit vysledek "osm plus ctyri minus dva" (co s tim mas delat, je tam vysvetlene na jinem prikladu)

Jo, jak jsem to myslel s tim google... No, googlem se da najit min 1.000.000 php kodu s ochranou, spoustu z nich s casovym razitkem. Mas to vygooglovane do 1 minuty. Nebo cekej odpoved do 14 dnu tady, coz je bezna doba, nez jeste nekdo odepise.

Editováno 14.12.2022 8:07
 
Nahoru Odpovědět
14.12.2022 8:05
Avatar
Ladislav
Člen
Avatar
Odpovídá na Peter Mlich
Ladislav:14.12.2022 8:27

Ahoj, díky za odezvu. Nejsem v PHP zběhlý a a pokud si najde někdo čas a pošle mi tady nějaký jednoduchý příklad, tak budu rád.

Hezký den.

 
Nahoru Odpovědět
14.12.2022 8:27
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:14.12.2022 13:35

Bud to chces a projevis vice iniciativy nez napsat dotaz do fora ve smyslu ukol zadarmo pro vas. Nebo si to hold musis vygooglovat :) Ale na to prijdes. Je rozdil mezi radou a vypracovanim celeho ukolu za tebe zadarmo, kdyz v praci za to dostavam zaplaceno, ze?
Navic, teda, prvni rada byla, napis dotaz do php fora. Muzu ti dat link...
https://www.itnetwork.cz/…p-webtvorba/

Editováno 14.12.2022 13:36
 
Nahoru Odpovědět
14.12.2022 13:35
Avatar
Ladislav
Člen
Avatar
Odpovídá na Peter Mlich
Ladislav:15.12.2022 10:03

Díky, napíši tam.

 
Nahoru Odpovědět
15.12.2022 10:03
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.