Enda en stor måte til å håndtere søppelpost er til å godkjenne din data… som hjelper til å beskytte mot SUS (dum brukersyndrom) også. Ja laget jeg akkurat det opp. Problemet med dette er mengden av innsatsen som det tar til å kode søppelpostfiltre som det for alle formene på din website. Vi kan lage denne prosessen mye fort skjønt ved å automatisere en måte til å blokkere søppelpostdata med regulære uttrykk på gjenta forhold.
Skap en form i html som du vanligvis vil og sjekker du kan kalle den følgende funksjonen :
//USAGE: $resulterer .=(continuous for flerfoldige felt) formcheck ($postdata,” Felt» ,length(number),” ET eller ET, ALL, E-POST, WEBSITE, osv.»,» KREVER, NA») ;//EXAMPLE: $Resulterer =. formcheck ($postdata,” Navn», 30,» ET»,» KREVER») ; Da kontroll $resultater for feil. Hvis == «» da prosess former.funger formcheck( $data , $felt , $lengde , $type , $krever ) {hvis ( $data == »» && $krever == » KREVER » ) {$feil = .» <li klasse =\ » feil\ »><b>«. $Felt . »</b> Kan ikke være venstre tomrom</li>«;returner $feil ;} elseif ( $data == »» && $krever ==»NA » ) {retur ;}hvis ( strlen ( $data ) > $lengde ) $feil = .» <li klasse =\ » feil\ »><b>«. $Felt . »</b> Er også lang. Behag bruk <b>«. $Lengde . »</b> Karakterer eller mindre.</li>«;kopl ( $type ) {Tilfelle » ET » : hvis ( ! preg_match (»/^æa-z0-9 Å $/i” , $data ) ) $feil = .» <li klasse =\ » feil\ »><b>«. $Felt . »</b> bare kan inneholde brev og antall og å skille</li>« ; brudd ;Tilfelle » ET » : hvis ( ! preg_match (»/^æa-zå $/i” , $data ) ) $feil = .» <li klasse =\ » feil\ »><b>«. $Felt . »</b> bare kan inneholde brev og å skille</li>« ; brudd ;Tilfelle » N » : hvis ( ! preg_match (»/^æ0-9å $/” , $data ) ) $feil = .» <li klasse =\ » feil\ »><b>«. $Felt . »</b> bare kan inneholde antall</li>« ; brudd ;Tilfelle » ALL » : Hvis ( ! preg_match (»/^æa-z0-9\: \- \_ \? \& \; \# \. \«\/ \, \‹\\ \ Å $/i «, $data ) ) $feil = .» <li klasse =\ » feil\ »><b>«. $Felt . »</b> inneholder ugyldig karakterer</li>« ; brudd ; //htmlspecialchars($data); bedre til å gjøre dette for generelle dataTilfelle » DATERER seg»: hvis ( preg_match ( /^æ0- 9]{2}-æ0- 9]{2}-æ0- 9]{4}$/ » , $data ) === 0 ) $feil = .» <li klasse =\ » feil\ »><b>«. $Felt . »</b>må være i formatet MM-DD-YYYY</li>« ; brudd ;Tilfelle » PASSERER » : Hvis ( ! preg_match (»/^.*(?=.{6,})(?=.*Æ0-9å)(?=.*æa-zå)(?=.*æa-zå).*$/” , $data ) ) $feil =.» <li klasse =\ » feil\ »><b>«. $Felt . »</b> Må være minst 6 karakterer med minst senker tilfellebrev, et stort bokstav & et siffer.</li>«;Tilfelle » WEBSITE » : Hvis ( ! preg_match (»/^æa-z0-9\. \/ \-:Å $/i” , $data ) ) $feil = .» <li klasse =\ » feil\ »><b>«. $Felt . »</b> Gått inn i er ugyldig.</li>« ; brudd ;Tilfelle » SENDEE-POST » : Hvis ( ! eregi (»^æ_a-z0-9-å (\. Æ_a-z0-9-å )*@æa-z0-9-å (\. Æa-z0-9-å )*(\.[En-z]{2.4}) $ » , $data ) ) $feil = .» <li klasse =\ » feil\ »>Det <b>«. $Felt . »</b> Adresser gått inn i er ugyldig.</li>« ; brudd ;}returner $feil ;}- Download denne koden :
Ring det opp ved å bruke noe liker dette. Du kan prøve til å fylle i noen falske data for $postdata og til å prøve det ut : formcheck($postdata,”name”,30,”an”,”require”)
- $Postdata - Dette burde ta formen av $_POST [‹kaller›]. Alltid grip din variabel fra $_POSTERER slik deg unngår variabel å tukling/tilbakestiller i-mellom. Du kan også gjøre en ekstrakt ($_POST) hvis du’re den gung-ho om bruke nøkkelen som din variabel. I dette tilfellen som ville være $kaller.
- “name” - Dette er akkurat en identifikator for hvert rop det er menneskelig lesbar versjon hva som fungerer rop av sjekket. Det blir brukt bare hvis brukeren møter en feil.
- 30 - Dette kan være noe antall og spesifiserer maksimum lengde. Data kan passere gjennom denne funksjonen SAMTYKKE hvis dets mellom 1-30 karakterer lang.
- “AN” - ET er tilfellet du’re i. Du kan se i funksjonen for ytterligeree detaljer hva det regulære uttrykket gjør i hvert tilfelle av. ET blir betudt til å bruke den Alfanumeriske kontrolløren. Anotherwords bare brev, antall, og skiller (som du kan forandre dem manuelt hvis du ønsker).
- “REQUIRED” - Hvis du setter dette til “NA” det vil tillate feltet til å passere$uten data som blir gått inn i i det. Men hvis det er krevd vil det sjekke mot de andre parametrene.
Du kan ville gjøre noe ytterligere forskning på regulære uttrykk hvis du vil tilføye eller til å redigere funkjsonalitet her. Men dette burde dekke det malte arbeidet slik du kan fokusere på din enestående data validation scenarier.
Jeg er tilbøyelig til til å lage mine former 1 side og til å ha “checks”. I følgende den strukturen som jeg kan stanse og kan rapportere ut forskjellig informasjon innenfor HVIS uttalelser til å se hvis forelegger ble trykkedd, hvis dataene er god, og hva til å gjøre med de dataene. Det også beholder hjelpeinformasjon fra den forrige knappen pressen slik jeg kan tillate brukeren til å se deres informasjon igjen og muligens forandrer det. Selvfølgelig ville det være en god ide til å kjøre formcheck funksjonen på dataene før yteing det bak inn i inngangsverdien til å sjekke at brukeren ikke tilfører slem XML eller skrifttypedata. Dette burde bli gjort når som helst en bruker forelegger data som er vist tilbake til dem.
Enten bruker : htmlspecialchars($data) og mysql_virkelig_flukt_snor($data) eller noe liker dette for inngangsverdien :
if(isset($email) && formcheck ($_POSTÆ’ e-post› Å,”e-mail”,50,”email”,”require”) == “”) { ekko $e-post ; }
Samme funksjon som du’d bruk under, vi’re akkurat utnytte funksjonen igjen. Den eneste downside er det blir kvitt brukeren inngangen komplett hvis det passet ulovlig utgang. Denne isn’t som er også hard til å tilføye som jeg gjøre kunne på en senere tid i påvente av noen anmodninger i.
//Heres mitt kvikt praksiseksempelhvis ( isset ( $_POSTERER [ ’submit’ ] ) ) {$errorcatcher = . formcheck( $postdata ,» Kaller » , 30 ,» ET » ,» KREVER » ) ;$errorcatcher = . formcheck( $postdata ,» E-post » , 50 ,» E-POST » ,» KREVER » ) ;$errorcatcher = . formcheck( $postdata ,» Website » , 100 ,» WEBSITE » ,» NA » ) ;hvis ( $errorcatcher == »» ) { //hvis ikke tømmer da noen feil//SUKSESS} ellers { //på minstfeil ble funnet. lar trykk dem.gjenlyd $errorcatcher ;}}hvis ( isset ( $errorcatcher ) || $_POSTERER [ ’submit’ ] == »» ) {//Viser formen}- Download denne koden :
En fornuftig praksis til å følge er til å vise ordentlig og ryddig former. Bruk CSS, tabeller og merker merker. Undersøk formene under en tilfreds side på mmorpgexposed com. Ikke til toot mitt egent horn, men det er overrakt i et forståelig, organiserte, og profesjonell mote. Bemerker at jeg git ekstra tekst som spesifiserer til brukere hva type av inngangen jeg’m lete etter. DVS : “3-15 alfanumerisk Tegn”. Følg gjennom og godkjenn på. Der’s ingen lett måte til å øke din sprettrate enn til å ha skilt opp former som forvirrer til å bruke (eller dummy at du må fylle ut flerfoldige tider fordi du Don’t forstår hvorfor din inngangsisn’t arbeide).
Hvis du’re føler ærgjerrig, løpforespørsel at logger en brukere IP til en tabell og øker en opptellingssøyle til å se hvor mange forsøk det tar for folk til å fylle ut din form nå. Forlate det i en uke og gjenta prøven med disse forandringene og se hvis der’s en hovedforskjell i tide det kaster feil. Min gjetning ville være det større den forskjellen i feil det mer av en forskjell i bruker signups du’ll ser.






































Jeg tror det, s en stor post.