Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Mitä teen? *php*

Sivun loppuun

TH [31.01.2004 22:54:35]

#

Taas näitä suojaukseen tai vastaavaan liittyviä kysymyksiä..

Minulla on eräässä kansiossa tiedosto, jonka sisältöä ei mieluiten saisi nähdä kukaan, mutta php-skriptin pitää silti voida muokata sitä, samoin minun jos käytän ftp-ohjelmaa. Mutta siis kukaan muu ei, esim. kirjoittamalla osoiteriville tiedoston osoitteen. Mitä teen?

Ja vielä yksi kysymys, joka varmasti on aika selvä, mutta haluaisin varmistaa kumminkin; jos esimerkiksi skripti lataa tiedoston rivit taulukkoon, muutta yhtä ja alkaa tallentaa ja käyttäjä sulkee selaimen kesken kaiken, suoritetaanko tallennus palvelimella loppuun vai jääkö se kesken?

T.M. [01.02.2004 00:20:32]

#

Käytä htaccessia:
http://www.mbnet.fi/mbinternet/ohjeet/suojaus/

antsa [01.02.2004 16:20:00]

#

deny from all

Siis tuollaisen .htaccess-tiedoston teet sen kansion juureen, minkä haluat suojata. Vain yksi ainoa rivi ja kukaan ei pääse tekemään mitään. Vaihtoehtoisesti voi myös salasanasuojauksen laittaa, jos tahtoo.

nlampola [04.02.2004 17:15:29]

#

Tästä tulikin muuten mieleen, pääseekö toisella palvelimella sijaitseva PHP-skripti käyttämään tiedostoa joka on suojattu htaccessilla?

Quiz [04.02.2004 17:56:22]

#

Ei kai...

NiKC [04.02.2004 18:37:09]

#

lainaus:

Tästä tulikin muuten mieleen, pääseekö toisella palvelimella sijaitseva PHP-skripti käyttämään tiedostoa joka on suojattu htaccessilla?

Ei pääse. Tämä tuntuu olevan jokinlainen ikuisuuskysymys kun se aina tasasin väliajoin tuntuu tulevan pintaan. Oiskohan FAQ:n aika? (Vai olenko vain missannut sen?-)

Eli kerrataan nyt vielä. Toiselta palvelimelta tuleva pyyntö tehdään (PHP:ssä) yleensä http-protokollaa käyttäen. Nämä pyynnöt käsittelee www-palvelin joka palauttaa PHP-parserin palauttaman valmiin html-sivun. Ts. tämä toimii aivan kuten selaimella pyydettäisiin samainen sivu. Jotta lähdekoodia pääsisi katselemaan tarvitaan pääsy tiedostojärjestelmään, esim. ftp-yhteydellä.

lainaus:

Ja vielä yksi kysymys, joka varmasti on aika selvä, mutta haluaisin varmistaa kumminkin; jos esimerkiksi skripti lataa tiedoston rivit taulukkoon, muutta yhtä ja alkaa tallentaa ja käyttäjä sulkee selaimen kesken kaiken, suoritetaanko tallennus palvelimella loppuun vai jääkö se kesken?

Nyt en pysty varmasti sanomaan, mutta voisin veikata että php-parseri kyllä suorittaa sivulla olevan koodin loppuun huolimatta pyynnön katkaisusta. HUOM! Täysin mutua, ei mitenkään faktaan perustuvaa.

leftover [05.02.2004 09:33:59]

#

lainaus:

Nyt en pysty varmasti sanomaan, mutta voisin veikata että php-parseri kyllä suorittaa sivulla olevan koodin loppuun huolimatta pyynnön katkaisusta. HUOM! Täysin mutua, ei mitenkään faktaan perustuvaa.

Ihan oikein pähkäilty. PHP toimii pelkistettynä seuraavasti (*** = selaimen sulkeminen)

- Selain lähettää HTTP-pyynnön (esim. index.php)
***
- HTTP-palvelin ohjaa pyynnön PHP:lle (.php määrää näin)
- PHP käsittelee sivuston koodin ja palauttaa HTTP-palvelimelle koodin tuottaman outputin
- HTTP-palvelin palauttaa sisällön selaimelle

Eli kaikki mainitut operaatiot suoritetaan vaikka selain sammutettaisiin pyynnön jälkeen (HTTP-palvelimen palauttama sisältö vain häviää bittiavaruuteen).

tsuriga [05.02.2004 13:51:07]

#

Entä jos eteen tulee jokin käytännöllisesti katsoen ratkaisematon ongelma (järkevässä ajassa)/ääretön looppi niin millon parseri lopettaa pyörittämisen? Joskus?:)

EDIT: Kuhan mielenkiinnosta, että kuinka PHP on suunniteltu.

Olga [05.02.2004 14:37:51]

#

php.ini:ssä on ainakin määritelty max_execution_time, taitaa olla defaulttina 30s. Voi myös itse ilmeisesti määritellä jos safe mode ei oo päällä.

nlampola [05.02.2004 15:46:02]

#

lainaus:

Voi myös itse ilmeisesti määritellä jos safe mode ei oo päällä.

Siis voiko ihan scriptissä määritellä?

Olga [05.02.2004 16:53:07]

#

Jep, funktio tais olla set_time_limit() jos en ihan väärin muista.

k-mikko [05.02.2004 19:42:44]

#

Kaikkia phpn asetuksia voi muutella skriptin ajon ajaksi funktiolla ini_set( asetus , arvo )


Sivun alkuun

Vastaus

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

Tietoa sivustosta