Ahhoz, hogy űrlapon keresztül sikeresen fel lehessen tölteni fájl(oka)t, egyrészt az adatküldés metódusát post típusúra kell állítani, másrészt szükségszerű használni a form tag enctype paraméterét:<form ... method='post' enctype='multipart/form-data'>
Ezek bármelyikének hiányában a fájlfeltöltés nem fog megvalósulni.
A robotok elleni védekezéshez CAPTCHA tesztet érdemes készíteni, mely ellenőrzi, hogy valóban humán felhasználó szeretne-e adatokat küldeni az űrlapon keresztül. Ennek az egyik legegyszerűbb módja, ha két szám összeadását is feladatul tűzzük ki az űrlapon elküldés előtt, például az alábbiak szerint:16 + 6 =A véletlenszám-generálással kapott értékek összegét el kell tárolni egy session-változóban, hogy aztán majd szerver oldalon ellenőrizni lehessen a felhasználó által beírt érték helyességét, melyet az űrlap többi adatával együtt továbbítunk.
Hangulatjelekként használhatja az alábbi képeket, vagy kereshet másfajtákat a interneten.
Ha a felhasználó az üzenet szövegében html tag-eket is tudna továbbítani, akkor nemcsak a vendégkönyvet megjelenítő oldal dizájnját tudná megmásítani, hanem akár php kódot is be tudna küldeni az űrlapon keresztül. Ez ellen mindenképpen védekezni kell, melynek egy egyszerű módja, ha a bemenő üzenetben az adatok fogadása utáni első lépések egyikeként az esetlegesen előforduló nyitó relációjeleket speciális karakterré alakítjuk:$uzenet = str_replace( "<" , "<" , $uzenet ) ;
Itt érdemes megjegyezni, hogy nemcsak a < karakter lehet problémás az üzenet szövegében, hanem az aposztóf vagy az idézőjel is, hiszen ezek jelenléte a program forráskódjában található aposztrófok vagy idézőjelek miatt hibás értelmezést eredményezhet a program futásakor - így az ilyen jel(ek)et tartalmazó üzenetek emiatt jó eséllyel nem fognak elmentődni. Helyettesítsük ezeket is az alábbi sor mintájára:$uzenet = str_replace( "'" , "\'" , $uzenet ) ;
E-mail küldéséhez a php mail() függvénye használható, ha valós tárhelyet használ és ott megengedett a függvény használata. Lokális szerver (AppServ, XAMP, WAMP, stb) mellé jellemzően nincs levelező szerver telepítve - ebben az esetben a függvény hívása hibát fog eredményezni.
előző oldal | random oldal | következő oldal |