Mám webový kontaktní formulář PHP, který jsem dal dohromady, který kontroluje nevyžádaná slova a před odesláním vyčistí veškeré kódování HTML, ale dostávám nějaké zprávy s gobbledegook, o kterém se domnívám, že ho odesílá odesílatel. Z jakého důvodu se nemohu shromáždit jinak, než abych viděl, co z toho mohou mít?

Příklad

RULITldVgsx tMeIkngCroURjmD OEThYoJiXWBvte hrqWJFdKnlx

Zpráva: ZKIqcNxhtdPG

Od: rOjhZkYyBMG [e-mailová adresa odstraněna pro tento příklad]

Jak zkontroluji tento druh věcí pomocí PHP před odesláním, aby mohl být odmítnut jako spam?

Viděl jsem pspell_check, ale mám pocit, že by to mohlo odmítnout zprávu, která by mohla obsahovat skutečný překlep.

Poznámka: Podrobně jsem otestoval odesílací kód kontaktního formuláře zasláním testovacích zpráv skrz něj a všechny zprávy procházejí tak, jak by měly, takže to není PHP, které jsem vložil a které zkresluje zprávu

  • Určitě byste zprávu neodmítli kvůli jedinému překlepu, i kdyby byla zkontrolovat všechna slova pomocí kontroly pravopisu.
  • @StephenOstermiller to je to, co říkám. Nechtěl bych, aby se to stalo.

Myslím, že pspell je nesprávný přístup: mohou se a mohou stát překlepy - a samozřejmě existují slova jako vlastní podstatná jména, která, i když jsou napsána správně, mohou způsobit chybu v pspell.

Podobný problém jsme měli s registrací účtů na našem webu. K vytvoření účtu se používaly víceméně náhodné informace. Ukázalo se (nepřekvapivě), že všechny tyto falešné podání byly vytvořeny roboty, takže jsme do našeho přihlašovacího formuláře přidali captcha a problém byl vyřešen. Na začátku to nebyl obrovský problém, ale přešli jsme z několika desítek falešných účtů denně na v podstatě nulu.

Pro naše účely jsme se rozhodli použít reCAPTCHA v3, protože nevyžaduje ani žádnou interakci uživatele, jeho nastavení bylo snadné a bylo to zdarma (viz: https://developers.google.com/recaptcha/docs/versions ). To znamená, že byste měli dát přednost desítkám alternativ. Bez ohledu na to, podle typu dat, které dostáváte, jsem si docela jistý, že váš problém způsobují také roboti a váš problém by měl vyřešit captcha nebo jiný systém ověřování člověka.

Kromě toho můžete zkontrolovat své soubory protokolu a zjistit, které sítě, země atd. Jsou odpovědné za tato falešná podání. Můj odhad je, že si začnete všímat některých vzorů. Udělali jsme. Takže jsme zpřísnili bezpečnostní kontroly určitých typů dat pocházejících z určitých zemí - a zakázali jsme ostatním sítím úplně přístup do našeho systému (přemýšlejte: velké, stinné serverové farmy v zemích, kde se šíří internetový bezpráví.) Pokud se rozhodnete jít ban route, můžete tak učinit na úrovni aplikace (například ve skriptech PHP), v konfiguraci webového serveru (např. httpd.conf) nebo pomocí služby třetí strany, jako je CloudFlare. (Kromě kontroly IP vám CloudFlare umožňuje zakázat celé ASN, které považuji za velmi užitečné.)

Hodně štěstí!

  • Pro dobré UX jsem hledal metody, aniž bych otravoval své návštěvníky webových stránek. ReCAPTCHA v3 je zajímavý. Ani jsem se neobtěžoval dívat se na reCAPTCHA, protože mě dokonce nenávidí, když musím udělat hloupé testy klikání na fotografie atd., Než budu moci na některých stránkách něco udělat. Podívám se na to. dík
  • 1 Napadá vás, proč by někdo používal robota k odeslání zkomolené zprávy?
  • @Chris Rogers, reCAPTCHA v3 funguje dobře. Budete to muset poznamenat ve svých zásadách ochrany osobních údajů, v závislosti na tom, kde je váš web hostován a ve kterých zemích váš web slouží.

Pracoval pro vás: Charles Robertson | Chcete nás kontaktovat?