Alapuolella on pieni koodinpätkä. (lomakkeen tiedot tallennetaan tietokantaan) Voisiko joku ystävällinen tsekata sen. Omasta mielestäni se ei toimi oikein, enkä oikein keksi mikä siinä on vikana. (if:t sekaisin? :O)
Mitä muita tarkistuksia/muutoksia olisi koodiin vielä hyvä tehdä, jotta se olisi tietoturvallinen? Muistelen, että joku väänsi joskus 'rautalankaversion', mutta haulla en sitä enään löytänyt.
Mihin väliin tulisi laittaa tarkistukset/virheilmoitukset jos halutaan esim. tarkistaa että nimi ja viesti on annettu?
if($HTTP_REFERER=="http://osoite.com/lomake.php") { if(isset($_POST['nimi'])&&isset($_POST['www'])&&isset($_POST['viesti'])){ //muuttujat talteen $nimi = mysql_real_escape_string(htmlentities(stripslashes($_POST['nimi']))); $www = mysql_real_escape_string(htmlentities(stripslashes($_POST['www']))); $viesti = mysql_real_escape_string(htmlentities(stripslashes($_POST['viesti']))); //tähän tallenus? } } //eka if loppuu else { echo "Et tule oikeasta osoitteesta"; }
edit: typoja
Oletko hakenut tuohon $HTTP_REFERER muuttujaan tietoa? Vai pitäisikö sen olla $_SERVER['HTTP_REFERER'] ?
Kummin tahansa, lomake ei hyväksy jos käyttäjän selain blokkaa sivuviittaukset (esim. minulla blokkaa).
Niin, ja annettu virheilmoitus on ihan liian informatiivinen. Jos joku oikeasti yrittää lähettää tietoja jostain muualta, ja tuollainen ilmoitus tulee, niin ei mene kauaa kun se "hakkeri" lähettää sen väärän referer-osoitteenkin... Tosin eiköhän se asiansa osaavalta onnistu muutenkin.
Tarkistukset tietenkin ennen tallennusta. Voi laittaa vaikka heti alkuun, sillä ilman niitä tietojahan millään ei ole mitään väliä.
Lebe80 kirjoitti:
Oletko hakenut tuohon $HTTP_REFERER muuttujaan tietoa? Vai pitäisikö sen olla $_SERVER['HTTP_REFERER'] ?
Kummin tahansa, lomake ei hyväksy jos käyttäjän selain blokkaa sivuviittaukset (esim. minulla blokkaa).
Mun mielestä toi toimii ihan oikein noin..
Mulla on itse lomake ja sen käsittely eri tidostoissa. Tuolla on tarkoituksena estää se, että joku urpo ei mene suoraan kasittele.php sivulle, vaan sinne pääsee vain lomake.php sivun kautta.
JTS kirjoitti:
Niin, ja annettu virheilmoitus on ihan liian informatiivinen.
Ihan totta. Toi on ilmoitus on ollut testausvaiheessa, jotta tietää, että kaikki toimii oikein. :)
lainaus:
Ihan totta. Toi on ilmoitus on ollut testausvaiheessa, jotta tietää, että kaikki toimii oikein. :)
minkähän virheilmoituksen se siis antaa?
Viestien tarkistus kannattaisi laittaa sitten kun olet ottanut ne muuttujiin.
Tontsa-san kirjoitti:
lainaus:
Ihan totta. Toi on ilmoitus on ollut testausvaiheessa, jotta tietää, että kaikki toimii oikein. :)
minkähän virheilmoituksen se siis antaa?
Viestien tarkistus kannattaisi laittaa sitten kun olet ottanut ne muuttujiin.
Tässä oli kysymys tuosta "Et tule oikeasta osoitteesta" ilmoituksesta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.