Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Aukko koodissa?

Auvo [25.09.2007 20:46:27]

#

Jotkut ovat löytäneet alla olevasta tyylimoottorista aukon, jolla voi lisätä omaa dataa sivulle, mutta se tallentuu vain omiin evästeisiin. Alkuperäinen koodivinkki löytyy täältä.

<?php
    // Katsotaan onko saatu uusi tyyli, jolloin muuttuja saa arvon 1-5 ja asetetaan uusi eväste
    if (isset($_GET["style"])) {
        $expire = time()+60*60*24*30*12; // voimassa vuoden ellei muuteta tai poisteta
        setcookie("style",$_GET["style"],$expire);
        $style = $_GET["style"];
    }
    // Tyylieväste löytyi, joten käytetään valittua tyyliä
    elseif (isset($_COOKIE["style"])) {
        $style = $_COOKIE["style"];
    }
    // Tyylievästettä ei ole eikä tyyliä ole valittu, joten käytetään oletusta
    else  {
        $style = "1";
    }
?>

Olga [25.09.2007 22:25:09]

#

No tokihan siinä on aukko, jos tuota saatua muuttujaa $style käyttää suoraan tyyliin $style . ".css". Eli pistää vaikka sallitut tyylitiedostot taulukkoon ja vertailee sit että löytyykö kyseistä tyyliä sieltä. Jos löytyy, printataan kyseinen tyylitiedoston nimi ja jos ei löydy, näytetään vaikka joku oletustyyli. Tai jotenkin muuten, tuo on vaan yks tapa.

Auvo [26.09.2007 15:19:44]

#

En oo oikeen haka tässä PHP:ssa ja jos olisin, olisin varmaan itekin löytänyt aukon. Voiko joku korjata koodia? Antaa vinkkejä?

pistemies [26.09.2007 19:04:00]

#

Sen verran tuota vilkaisin, että tuo tyylinmuuttaminen osoiteriviltä sallii minkänumeroisen tyylin tahansa, vaikka valittavia tyylejä olisi vain viisi.
$_GET -muuttujan saa suoraan osoiteriviltä ilman tuota linkkiä tai alasvetovalikkoa.
Oliko sinulla jotain testi-sivua tästä?

Auvo [26.09.2007 21:08:55]

#

http://www.mandariini.com/styleswitchercookie/ tuolla voi testata

welluksi [27.09.2007 21:42:09]

#

Ainakin seuraavalla tavalla tekstiä saa sivulle. Kannattaa tehdä tuohon koodiin tuon $_GET-muuttujan arvolle tarkistus että käyttäjä ei voi antaa kuin sallitut arvot kuten Olga jo ehdotti

http://www.mandariini.com/styleswitchercookie/index.php?style=22.css%3C/style%3Emoi

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta