Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: PHP:n virheilmoituksen polku piiloon

Sivun loppuun

Beuling [14.04.2011 19:46:39]

#

Hei,

kun testailen erilaisia juttuja omalla palvelimella, niin usein kun tulee virhe niin tulee tämän tapainen esim. Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\,,, on line 83


Saako mitenkään tuon polun piilotettua siis tuon alkuosan C:\xampp...

Jokotai [14.04.2011 20:56:28]

#

Muuttamalla ohjelmia. Ei kai muuten. Miksi haluat sen piiloon?

ankzilla [14.04.2011 22:06:30]

#

Postaa rivit 82, 83 ja 84 niin se on helpompi piilottaa :)

Edit: Tai sitten https://www.php.net/manual/en/function.error-reporting.php

Metabolix [14.04.2011 22:15:49]

#

Parse errorille ei voi mitään, koska se kaataa PHP:n jo ennen skriptin suorittamista. Muita erroreita voi ja ehkä kannattaakin muotoilla omilla virheenkäsittelijöillä, ks. set_error_handler ja set_exception_handler.

Beuling [15.04.2011 15:53:43]

#

Ööhh.. nyt taisi tulla väärin ymmärrys. En siis tarkoita PHP:n virheilmoitusta, vaan KAIKKIA virheilmoituksia mitä tulee, niin tuo polun alkuosa C:\xampp\ niin voiko tuo saada piiloon. Virheilmoituksia en tietenkään halua piiloon. Tuo kyseisen ilmoitus olisi siis päästä revitty.

Esim. jos tulee joku error ohjelmointiputkassa niin tuskin tulee mitään Error in etc/var/public_html ja niin edespäin.

qeijo [15.04.2011 17:29:24]

#

Metabolix kirjoitti:

Parse errorille ei voi mitään, koska se kaataa PHP:n jo ennen skriptin suorittamista. Muita erroreita voi ja ehkä kannattaakin muotoilla omilla virheenkäsittelijöillä, ks. set_error_handler ja set_exception_handler.

Beuling [15.04.2011 18:24:33]

#

Juu juu, tiedän ton, mutta ei auta edelleen. Jos tulee esim. sivua ei löydy (WINDOWS) etc. niin lukee se polku esim. C:/xampp/htdocs/xhtmld.php. Miksi pitää lukea koko polku C: alkaen. Miksei lue verkkotunnusta, vaikka on tuo *.dy.fi tunnus käytössä.

Ubuntussa ja niin edespäin lukee /etc/user/var/public.html tjps. niin miksei tuossaki verkkotunnusta tai vain loppuosa?

Othnos [15.04.2011 18:38:29]

#

Kyse on apachen, ei php:n virheilmoituksesta. Voit hakea tietoa vaikka hakusanalla "apache page not found".

-tossu- [15.04.2011 18:39:59]

#

Beuling kirjoitti:

Miksi pitää lukea koko polku C: alkaen. Miksei lue verkkotunnusta, vaikka on tuo *.dy.fi tunnus käytössä.

Tiedoston polku on paljon tärkeämpi tieto sivuja korjaavalle ylläpitäjälle etenkin jos sivu koostuu useista tiedostoista. Www-osoitteen näkee tarvittaessa selaimen osoiteriviltäkin.

Metabolix [15.04.2011 19:23:34]

#

Beuling kirjoitti:

Miksei lue verkkotunnusta

Olisi tyhmää ilmoittaa vain selaimen pyytämä osoite. On aivan mahdollista tehdä sivusto, jolla tiedosto x sijaitsee paikassa /yksi/polku/x ja tiedosto y sijaitseekin paikassa /eri/paikka/y.

Ja kyllä minusta on kaikin puolin parempi saada PHP:n ilmoituksiin polku, jonka voi suoraan syöttää editoriin.

Beuling kirjoitti:

Esim. jos tulee joku error ohjelmointiputkassa niin tuskin tulee mitään Error in etc/var/public_html ja niin edespäin.

Ohjelmointiputkassa tulee itse asiassa vielä mystisempiä polkuja, joita ei edes näy tiedostojärjestelmässä. Asialla lienee jotain tekemistä sen kanssa, miten webhotellin virtuaalipalvelimet on järjestelty.

Beuling kirjoitti:

Jos tulee esim. sivua ei löydy (WINDOWS) etc. niin lukee se polku esim. C:/xampp/htdocs/xhtmld.php

Onko todella näin? En ole koskaan nähnyt, että 404-sivulla olisi koko polku. Eri asia on tietenkin, jos olet kirjoittanut osoiteriville tavallisen polun ("C:/xampp/htdocs/xhtmld.php"), jolloin asialla ei ole enää mitään tekemistä minkään palvelinohjelmiston kanssa.

Beuling [15.04.2011 23:24:49]

#

Metabolix kirjoitti:

Olisi tyhmää ilmoittaa vain selaimen pyytämä osoite. On aivan mahdollista tehdä sivusto, jolla tiedosto x sijaitsee paikassa /yksi/polku/x ja tiedosto y sijaitseekin paikassa /eri/paikka/y.

Ja kyllä minusta on kaikin puolin parempi saada PHP:n ilmoituksiin polku, jonka voi suoraan syöttää editoriin.

PHP virheilmoituksissa mun mielestä se polku on tärkeä, jotta tietää mistä lähteä selvittämään, mutta miksi se pitää olla tällainen: C:/xampp/htdocs/rikki.php. (ubuntussa sitten taas oma /var/ ja niin edepsäin) Miksei se voisi olla vaikkapa verkkotunnus eli www.sivunnimi.com/rikki.php ? Esim. www.kugin.com/rikki.php

Metabolix kirjoitti:

Onko todella näin? En ole koskaan nähnyt, että 404-sivulla olisi koko polku. Eri asia on tietenkin, jos olet kirjoittanut osoiteriville tavallisen polun ("C:/xampp/htdocs/xhtmld.php"), jolloin asialla ei ole enää mitään tekemistä minkään palvelinohjelmiston kanssa.

Kyllä melkein on. Linkkasin parille kaverille ja niillä aina valitti C:/ alkuisella polulla, vaikka otin tuolta dy.fi sen tunnuksen.

Eikös tämä ole vähän epänormaalia? Joskus luin että tähän liittyy tietoturvariski, mutta en ole vielä yhdelläkään sivulla huomannut että lukisi levyaseman kirjain etc. Ei edes webhotellissa ja niin edespäin

Metabolix [15.04.2011 23:32:44]

#

Beuling kirjoitti:

Miksei se voisi olla vaikkapa verkkotunnus eli www.sivunnimi.com/rikki.php

Mitä jos lukisit sen minulta lainaamasi pätkän uudestaan? Siinä juuri perustelin kahdellakin tavalla, miksi oikea polku on parempi.

Blaze [15.04.2011 23:32:51]

#

Beuling kirjoitti:

miksi se pitää olla tällainen: C:/xampp/htdocs/rikki.php. (ubuntussa sitten taas oma /var/ ja niin edepsäin) Miksei se voisi olla vaikkapa verkkotunnus eli www.sivunnimi.com/rikki.php ?

Koska PHP ei tiedä, mikä URL johtaa siihen rikkinäiseen PHP-tiedostoon. On myös täysin mahdollista, että siihen tiedostoon ei pääse millään URL-osoitteella.

http://www.nyan.fi/b/virhe_muualla.php -- et pääse millään osoitteella käsiksi tiedostoon minua_et_nae_nyahahaa.php, se on yksinkertaisesti docrootin ulkopuolella.

Beuling kirjoitti:

Kyllä melkein on. Linkkasin parille kaverille ja niillä aina valitti C:/ alkuisella polulla, vaikka otin tuolta dy.fi sen tunnuksen.

Taisit linkata niille syntaksivirheellisen PHP-tiedoston, et olematonta tiedostoa? Vertaa ylempi linkkini ja http://www.nyan.fi/b/ei_tammosta_oo.php

The Alchemist [16.04.2011 08:16:02]

#

Beuling kirjoitti:

Joskus luin että tähän liittyy tietoturvariski, mutta en ole vielä yhdelläkään sivulla huomannut että lukisi levyaseman kirjain etc. Ei edes webhotellissa ja niin edespäin

Unixeissa ei ole levyasemia, joten ei myöskään niiden tunnuksia. Niille polkua 'C:\' eli juurta vastaa yksinkertaisesti vinoviiva '/'.

LaNu [16.04.2011 15:13:14]

#

Beuling kirjoitti:

Eikös tämä ole vähän epänormaalia? Joskus luin että tähän liittyy tietoturvariski, mutta en ole vielä yhdelläkään sivulla huomannut että lukisi levyaseman kirjain etc. Ei edes webhotellissa ja niin edespäin

PHP:n virheilmoitukset on tarkoitettu ohjelmoijalle. Ei niitä ole tarkoitus käyttäjälle näyttää. Sitä varten sinulle jo kerrottiin, miten ilmoitusten käsittelyä voi tuunata tuotantojärjestelmään.

Macro [16.04.2011 16:15:56]

#

Beuling kirjoitti:

Eikös tämä ole vähän epänormaalia? Joskus luin että tähän liittyy tietoturvariski, mutta en ole vielä yhdelläkään sivulla huomannut että lukisi levyaseman kirjain etc. Ei edes webhotellissa ja niin edespäin

Koska niissä ei olekkaan Windowsia pohjana.

The Alchemist kirjoitti:

Unixeissa ei ole levyasemia, joten ei myöskään niiden tunnuksia. Niille polkua 'C:\' eli juurta vastaa yksinkertaisesti vinoviiva '/'.

Beuling [19.04.2011 17:21:57]

#

Jess, tajusin ja testasin. Kaveri varmaan sai jonkun php errorin eikä sivua ei löytynyt.


Sivun alkuun

Vastaus

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

Tietoa sivustosta