Pitäisi saada yksinkertainen vertikaalinavigaatio toteutettua niin ettei samoja linkkejä joutuisi kopiomaan moneen HTML dokumenttiin.
PHP:llä varmaan saa tehtyä niin että linkit haetaan jostain ulkoisesta tiedostosta. Varmaan .css muotoilut saadaan kyytiin?
Tyyliin:
eka linkki
toka linkki
kolmas
jne.
Simppeli PHP navigointi haussa
10
1400
Vastaukset
- Sahrah
include("valikko.php");
tuon komennnon kun läjäytät php koodiisi, niin saat valikko.php:n sisällön juuri siihen kohtaan, jossa include lukee.
jokaiseen sivudokumenttiin vain tuo, simppeliä eikös? :O:O:O:O- hinaaja5
Kiitos, mutta anna vielä tarkemmin.
Miten tuo valikko.php dokumentti rakennetaan? tarviiko kaikki normaali HTML-koodit alkuun etc.
Kerro niinkuin idiootille :) - Sahrah
hinaaja5 kirjoitti:
Kiitos, mutta anna vielä tarkemmin.
Miten tuo valikko.php dokumentti rakennetaan? tarviiko kaikki normaali HTML-koodit alkuun etc.
Kerro niinkuin idiootille :)noo jos nyt idjootille pitää kertoa, niin se voisi mennä vaikka sillain, että teet eusivun kokonaan valmiiksi html css kaikki php yms mitä ikinä siihen haluatkaan.
Kun sinulla on valmis etusivu, nappaa siitä KAIKKI koodi pois, joka tulee ennen itse asiasisältöä (siis sitä joka sivulla muuttuu aina kun selailee sivustoasi), ne kaikki kopioit valikko.php tiedostoon.
en osaa oikein ymmärrettävämmin kirjoittaa tuota, mutta täällä: http://www.ohjelmointiputka.net/opas.php?tunnus=phpj4#sivupohjat
on hyvä selostus siitä ja esimerkkikin vielä :) - -------
Sahrah kirjoitti:
noo jos nyt idjootille pitää kertoa, niin se voisi mennä vaikka sillain, että teet eusivun kokonaan valmiiksi html css kaikki php yms mitä ikinä siihen haluatkaan.
Kun sinulla on valmis etusivu, nappaa siitä KAIKKI koodi pois, joka tulee ennen itse asiasisältöä (siis sitä joka sivulla muuttuu aina kun selailee sivustoasi), ne kaikki kopioit valikko.php tiedostoon.
en osaa oikein ymmärrettävämmin kirjoittaa tuota, mutta täällä: http://www.ohjelmointiputka.net/opas.php?tunnus=phpj4#sivupohjat
on hyvä selostus siitä ja esimerkkikin vielä :)Include on tarkoitettu lähinnä PHP tiedostojen includettamiseen, joten kannattaa vilkasta http://fi.php.net/readfile tuo on myös tietoturvallisempikin...
Sekä tuollaisenaan noissa on se ongelma että jos nimeät vahingossa valikko.html .htm päätteiseksi, niin kaikki sivut ovat ilman valikkoa ;) Siksi tuohon kannattaa lisätä ainakin http://fi.php.net/file-exists pieni tarkistus ja miettiä miten toimiitaan virhetilanteessa.
Ja tuollaisissa template jutussa on omat ongelmansa, mutta ei niistä sen enempää, kun tuo kuitenkin riittää pienille sivuille.
Mitä tuohon Ohjelmointiputkan oppaaseen tulee niin esim kasittely.php sisältää XSS aukon, sekä tuolla on hieman kyseenalaista tietoa joka tarkoittaa, että PHP 6 tultua scriptit eivät toimi. http://us3.php.net/manual/en/ini.core.php#ini.register-globals - hinaaja5
------- kirjoitti:
Include on tarkoitettu lähinnä PHP tiedostojen includettamiseen, joten kannattaa vilkasta http://fi.php.net/readfile tuo on myös tietoturvallisempikin...
Sekä tuollaisenaan noissa on se ongelma että jos nimeät vahingossa valikko.html .htm päätteiseksi, niin kaikki sivut ovat ilman valikkoa ;) Siksi tuohon kannattaa lisätä ainakin http://fi.php.net/file-exists pieni tarkistus ja miettiä miten toimiitaan virhetilanteessa.
Ja tuollaisissa template jutussa on omat ongelmansa, mutta ei niistä sen enempää, kun tuo kuitenkin riittää pienille sivuille.
Mitä tuohon Ohjelmointiputkan oppaaseen tulee niin esim kasittely.php sisältää XSS aukon, sekä tuolla on hieman kyseenalaista tietoa joka tarkoittaa, että PHP 6 tultua scriptit eivät toimi. http://us3.php.net/manual/en/ini.core.php#ini.register-globalsHienoa ja kiitos, Its ALIVE!!
Niinkuin aina, se on helppoa sitten kun sen osaa mutta ei ennen.
Murehditaan tietoturvaa myöhemmin. - Sahrah
------- kirjoitti:
Include on tarkoitettu lähinnä PHP tiedostojen includettamiseen, joten kannattaa vilkasta http://fi.php.net/readfile tuo on myös tietoturvallisempikin...
Sekä tuollaisenaan noissa on se ongelma että jos nimeät vahingossa valikko.html .htm päätteiseksi, niin kaikki sivut ovat ilman valikkoa ;) Siksi tuohon kannattaa lisätä ainakin http://fi.php.net/file-exists pieni tarkistus ja miettiä miten toimiitaan virhetilanteessa.
Ja tuollaisissa template jutussa on omat ongelmansa, mutta ei niistä sen enempää, kun tuo kuitenkin riittää pienille sivuille.
Mitä tuohon Ohjelmointiputkan oppaaseen tulee niin esim kasittely.php sisältää XSS aukon, sekä tuolla on hieman kyseenalaista tietoa joka tarkoittaa, että PHP 6 tultua scriptit eivät toimi. http://us3.php.net/manual/en/ini.core.php#ini.register-globalsinclude on tarkoitettu kaikenlaisten tiedostojen sisällyttämiseen toiselle sivulle. Toki readfilekin toimii, mutta joskin vähän hitaammin ja varaa turhaan muistia enemmän kuin include ;)
Se on sanomattakin selvää, että jokin tarkistus on tehtävä sille onko valikkotiedosto olemassa, käytti sitten includea taikka readfileä. - -------
Sahrah kirjoitti:
include on tarkoitettu kaikenlaisten tiedostojen sisällyttämiseen toiselle sivulle. Toki readfilekin toimii, mutta joskin vähän hitaammin ja varaa turhaan muistia enemmän kuin include ;)
Se on sanomattakin selvää, että jokin tarkistus on tehtävä sille onko valikkotiedosto olemassa, käytti sitten includea taikka readfileä."include on tarkoitettu kaikenlaisten tiedostojen sisällyttämiseen toiselle sivulle."
Niin no, toki se siinäkin toimii tietyin ehdoin, mutta include ja require on tarkoitettu lähinnä PHP-scripti tiedoston sisällyttämiseen PHP-scriptiin. Usein include_once ja require_once ovat siihen käyttöön parempia.
"Toki readfilekin toimii, mutta joskin vähän hitaammin ja varaa turhaan muistia enemmän kuin include ;)"
Hymiöstä päätellen tiedät miten asia on ;)
Mutta include se hitaampi on ja kuluttaa enempi muistia, koska include laittaa tiedoston PHP-tulkin kautta jota readfile ei tee.
Jos olet erimieltä niin voinet varmaankin perustella, miksi esim HTML tiedosto kannattaa laittaa PHP-tulkin kautta vaikka siinä mitään PHP juttuja ei ole?
Ja jos includea käyttää niin tuo PHP-tulkki on muistettava tietoturvan ja toimivuuden takia.
"include on tarkoitettu kaikenlaisten tiedostojen sisällyttämiseen toiselle sivulle."
Tätä on pakko kommentoida uudestaa, kokeileppas huviksesi sisällyttää includella tiedosto jossa on niin onnisuuko ;) - -------
------- kirjoitti:
"include on tarkoitettu kaikenlaisten tiedostojen sisällyttämiseen toiselle sivulle."
Niin no, toki se siinäkin toimii tietyin ehdoin, mutta include ja require on tarkoitettu lähinnä PHP-scripti tiedoston sisällyttämiseen PHP-scriptiin. Usein include_once ja require_once ovat siihen käyttöön parempia.
"Toki readfilekin toimii, mutta joskin vähän hitaammin ja varaa turhaan muistia enemmän kuin include ;)"
Hymiöstä päätellen tiedät miten asia on ;)
Mutta include se hitaampi on ja kuluttaa enempi muistia, koska include laittaa tiedoston PHP-tulkin kautta jota readfile ei tee.
Jos olet erimieltä niin voinet varmaankin perustella, miksi esim HTML tiedosto kannattaa laittaa PHP-tulkin kautta vaikka siinä mitään PHP juttuja ei ole?
Ja jos includea käyttää niin tuo PHP-tulkki on muistettava tietoturvan ja toimivuuden takia.
"include on tarkoitettu kaikenlaisten tiedostojen sisällyttämiseen toiselle sivulle."
Tätä on pakko kommentoida uudestaa, kokeileppas huviksesi sisällyttää includella tiedosto jossa on niin onnisuuko ;)"Se on sanomattakin selvää, että jokin tarkistus on tehtävä sille onko valikkotiedosto olemassa, käytti sitten includea taikka readfileä."
Noin sen pitäisikin olla, mutta nykyään monelle (kuten hinaaja5:lle) riittää kunhain toimii, jos joskus ei toimisi niin korjataan sitten jos jaksetaan. Ja monella ei ole edes perus asiat tietoturvasta hallussa ja silti tehdään isoillekkin yrityksille sivuja. Eräällä TV-yhtiön sivuilla oli include( $_GET['sivu'] ); josta sitten uutisoitiin paljon että taitavat hakkerit murtautuivat ja sabotoivat sivuja.
Siksi kerralla kannattaa asiat opetella tekemään kunnolla, niin välttyy monelta ongelmalta ja aikaa säästyy paljon. - Sahrah
------- kirjoitti:
"Se on sanomattakin selvää, että jokin tarkistus on tehtävä sille onko valikkotiedosto olemassa, käytti sitten includea taikka readfileä."
Noin sen pitäisikin olla, mutta nykyään monelle (kuten hinaaja5:lle) riittää kunhain toimii, jos joskus ei toimisi niin korjataan sitten jos jaksetaan. Ja monella ei ole edes perus asiat tietoturvasta hallussa ja silti tehdään isoillekkin yrityksille sivuja. Eräällä TV-yhtiön sivuilla oli include( $_GET['sivu'] ); josta sitten uutisoitiin paljon että taitavat hakkerit murtautuivat ja sabotoivat sivuja.
Siksi kerralla kannattaa asiat opetella tekemään kunnolla, niin välttyy monelta ongelmalta ja aikaa säästyy paljon.Juu ei kyllä onnistu, jos koitamme sisällyttää includella tiedoston, jossa on virheellistä PHP-koodia, se on itsestään selvyys.
Mokoma perkele olet oikeassa!! Perjaatteessa ole mitään järkeä ajaa tulkin läpi pelkkää HTML koodia, mutta mitä jos herra Hinaaja5 joskus laittaakin jonkun pienen kellonaika scriptin näkyville valikkotiedostoonsa? Sitten ei readfilet toimi, mutta tuskin Herra Hinaaja5 osaa niin tehdä.
Olen saannut koko elämäni ajan kasvatuksena oppia, että readfile on paha, hyi hyi sitä ei saa käyttää se on tarkoitettu vain paskaiseen työhön esim. lukemaan binääritiedosto kun sitä selaimelle lähetetään. Nyt olen siinäkin asiassa viisastunut ja tiedän, että readfileä voidaan käyttää sivistyneeseenkin scriptin osaan :)
ps. kummasta saa muutes pahemman tuhon aikaiseksi?
include($_GET['sivu']);
vai:
readfile($_GET['sivu']); - -------
Sahrah kirjoitti:
Juu ei kyllä onnistu, jos koitamme sisällyttää includella tiedoston, jossa on virheellistä PHP-koodia, se on itsestään selvyys.
Mokoma perkele olet oikeassa!! Perjaatteessa ole mitään järkeä ajaa tulkin läpi pelkkää HTML koodia, mutta mitä jos herra Hinaaja5 joskus laittaakin jonkun pienen kellonaika scriptin näkyville valikkotiedostoonsa? Sitten ei readfilet toimi, mutta tuskin Herra Hinaaja5 osaa niin tehdä.
Olen saannut koko elämäni ajan kasvatuksena oppia, että readfile on paha, hyi hyi sitä ei saa käyttää se on tarkoitettu vain paskaiseen työhön esim. lukemaan binääritiedosto kun sitä selaimelle lähetetään. Nyt olen siinäkin asiassa viisastunut ja tiedän, että readfileä voidaan käyttää sivistyneeseenkin scriptin osaan :)
ps. kummasta saa muutes pahemman tuhon aikaiseksi?
include($_GET['sivu']);
vai:
readfile($_GET['sivu']);"Juu ei kyllä onnistu, jos koitamme sisällyttää includella tiedoston, jossa on virheellistä PHP-koodia, se on itsestään selvyys."
Tuo oli vain esimerkki, lyhkäset tagit sallittu niin silloin jo XML tiedostokin aiheuttaa ongelmia.
"mitä jos herra Hinaaja5 joskus laittaakin jonkun pienen kellonaika scriptin näkyville valikkotiedostoonsa?"
Silloin muuttaa readfilet -> includeksi ;) Vaikka sivuja olisi paljon niin pienellä scriptillä tuo muutos käy hetkessä.
Mutta tosiaan jos tietää että tarttee myös PHP-scriptejä suorittaa, niin silloin ei kannata käyttää readfile.
"ps. kummasta saa muutes pahemman tuhon aikaiseksi?
include($_GET['sivu']);
vai:
readfile($_GET['sivu']);"
Includella. Readfilellä pystyy vain XSS ja katsomaan palvelimella olevien tiedostojen sisältöä (jotka näkyvät sinun oikeuksilla). Tosin jos palvelimella vaikka phpMyAdmin niin silloin pääsee tietokantaankin käsiksi kun tietää tunnuksen/salasanan.
Mutta includella pystyy tekemään kaikki samat mitä readfilellä, sekä suorittamaan omia PHP-scriptejä joka tekee tuosta tosi pahan, halutessa voit tuhota tietokannat jne... Tai muokata tiettyjä tiedostoja niin, että ne logittaa kaikki salasanat ja mielenkiintoiset jutut laittaa ne julkiseen hakemistoon josta ne on helppo käydä katsomassa.
Tekemällä hyvin pieniä muutoksia ja korjaamalla alkuperäisen ja muutkin huomaamansa aukot tuota on todella vaikea huomata.
Jos sivuilla noin on, niin korjaamiseksi ei todellakaan riitä enään pelkän include kohdan korjaaminen, vaan kaikki tiedostot on poistettava ja siirrettävä uudestaan, myös tietokantakin olisi palautettava siihen varmuuskopioon joka on otettu ennen aukon hyödyntämistä, näin varmistetaan datan oikeellisuus. Mutta tässä on taas omat ongelmansa. Tietenkin tuota palauttamista pystyy helpottamaan esim vertailemalla milloin tiedostoja muokattu jne...
Asia muuttuu jos allow_url_include = 0, mutta näin jostain syystä ei useinkaan ole, tuo ei vaikuta readfileen. Vaikka tuon sallimiselle ei ole oikein mitään perusteita, jos tuommosta tarttee niin silloin tehdään vaan hieman toisin.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1757284
Klaukkalan onnettomuus 4.4
Klaukkalassa oli tänään se kolmen nuoren naisen onnettomuus, onko kellään mitään tietoa mitä kävi tai ketä onnettomuudes803089- 572245
Kolari Klaukkala
Kaksi teinityttö kuoli. Vastaantulijoille ei käynyt mitenkään. Mikä auto ja malli telineillä oli entä se toinen auto? Se671435Ukraina ja Zelenskyn ylläpitämä sota tuhoaa Euroopan, ei Venäjä
Mutta tätä ei YLE eikä Helsingin Sanomat kerto.3681379- 571313
Ooo! Kaija Koo saa kesämökille öky-rempan:jättimäinen terde, poreallas... Katso ennen-jälkeen kuvat!
Wow, nyt on Kaija Koon mökkipihalla kyllä iso muutos! Miltä näyttää, haluaisitko omalle mökillesi vaikkapa samanlaisen l191259Toivoisin, että lähentyisit kanssani
Tänään koin, että välillämme oli enemmän. Kummatkin katsoivat pidempään kuin tavallisesti toista silmiin. En tiedä mistä171051Olisinpa jo siellä, otatkohan minut vastaan
Olisitpa lähelläni ja antaisit minun maalata sinulle kuvaa siitä kaikesta ikävästä, tuskasta, epävarmuudesta ja mieleni791010Kevyt on olo
Tiedättekö, että olo kevenee kummasti, kun päästää turhista asioista tai ihmisistä irti! Tämä on hyvä näin <3841008