PHP-ongelmat

Muu yhteisön välinen keskustelu.
Post Reply
User avatar
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: PHP-ongelmat

Post by Feuer » Mon Nov 29, 2010 6:31 pm

Pettis wrote:
temu92 wrote:

Code: Select all

$_SERVER['HTTP_REFERER'];
Referrer ei sitten ole 100% varmaa tietoa. Se voi joko puuttua tai olla väärennetty, koska se on vain selaimen antamaa tietoa. Yleisin ongelma on se, että se puuttuu, koska tietoturvaohjelmat tykkää poistaa kyseisen tiedon selaimen lähettämistä headereista.
Hyvä tietää. Miten tuo parin sivun mittainen takaisinohjaus kannattaisi toteuttaa jos tulee ongelma Referrerin kanssa? Säilyttämällä keksissä n viimeisintä avattua sivua (missä 5<n<15) ja poimimalla sieltä parin sivun takainen sivu kun tulee tarve liikkua takaisin?
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG

DJ-Filbe
Devoted Member
Posts: 853
Joined: Sat Feb 20, 2010 3:18 pm

Re: PHP-ongelmat

Post by DJ-Filbe » Mon Nov 29, 2010 7:06 pm

Feuer wrote:
Pettis wrote:
temu92 wrote:

Code: Select all

$_SERVER['HTTP_REFERER'];
Referrer ei sitten ole 100% varmaa tietoa. Se voi joko puuttua tai olla väärennetty, koska se on vain selaimen antamaa tietoa. Yleisin ongelma on se, että se puuttuu, koska tietoturvaohjelmat tykkää poistaa kyseisen tiedon selaimen lähettämistä headereista.
Hyvä tietää. Miten tuo parin sivun mittainen takaisinohjaus kannattaisi toteuttaa jos tulee ongelma Referrerin kanssa? Säilyttämällä keksissä n viimeisintä avattua sivua (missä 5<n<15) ja poimimalla sieltä parin sivun takainen sivu kun tulee tarve liikkua takaisin?
Tuon voi tietysti toteuttaa myös JavaScriptillä:
<script type="text/javascript">

Code: Select all

history.go(x)
</script>
missä x on negatiivinen luku, joka kertoo, montako sivua mennään taaksepäin. Positiivinen luku tarkoittaa taas eteen päin navigointia (vaatii back-napin painalluksia toimiakseen, luonnollisesti)

User avatar
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: PHP-ongelmat

Post by temu92 » Mon Nov 29, 2010 7:44 pm

Kaikilla käyttäjillä ei ole JavaScriptiä käytössä joten jos sivulla ei muutoin käytetä sitä, ei ole mitään järkeä tehdä yhtä ainutta asiaa JS:n kanssa (jos ko. asia on vielä oleellinen sivun toimivuuden kannalta).

User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: PHP-ongelmat

Post by esa94 » Mon Nov 29, 2010 8:09 pm

temu92 wrote:Kaikilla käyttäjillä ei ole JavaScriptiä käytössä joten jos sivulla ei muutoin käytetä sitä, ei ole mitään järkeä tehdä yhtä ainutta asiaa JS:n kanssa (jos ko. asia on vielä oleellinen sivun toimivuuden kannalta).
Jea, itelläni ei ainakaan oo JavaScript käytössä oletuksena.
⁴⁰Ar
<@mikeful> kissatehtaalla on miukuhihna.

DJ-Filbe
Devoted Member
Posts: 853
Joined: Sat Feb 20, 2010 3:18 pm

Re: PHP-ongelmat

Post by DJ-Filbe » Sun May 08, 2011 10:52 am

Miten toteuttaisin chat-sivun php:llä? Niin että chattiin kirjautunut henkilö ei näe aikaisempia viestejä, ja x millisekuntia vanhat viestit poistetaan kaikkien keskusteluikkunoista. Kaikki viestit menevät myös lokitiedostoon.

User avatar
buke44
Active Member
Posts: 169
Joined: Sat May 23, 2009 8:10 pm
Location: Tampere

Re: PHP-ongelmat

Post by buke44 » Sun May 08, 2011 12:54 pm

DJ-Filbe wrote:Miten toteuttaisin chat-sivun php:llä? Niin että chattiin kirjautunut henkilö ei näe aikaisempia viestejä, ja x millisekuntia vanhat viestit poistetaan kaikkien keskusteluikkunoista. Kaikki viestit menevät myös lokitiedostoon.
Osaat kai käyttää ajaxia? Sillä voi tehdä javascriptin avulla kyselyitä palvelimelle. Enpä usko että tästä on mitään apua, mutta tässä on vähän aikaa sitten tekemäni chatin koodi http://laakeri.kapsi.fi/a/chatti.zip.

User avatar
porzi
Active Member
Posts: 119
Joined: Mon Aug 27, 2007 11:10 pm
Contact:

Re: PHP-ongelmat

Post by porzi » Sun May 08, 2011 8:11 pm

Kannattaa muistaa noita omia chatteja tehdessä, että se on palvelimelle aika raskasta, jos uusia viestejä haetaan palvelimelta liian tiuhaan. Ja kyselyiden määrähän kasvaa mukavasti käyttäjämäärän mukaan.

Jos viestien tallentamiseen käyttää mysliä, kannattaa optimoida ja cachettaa queryt hyvin.

Yksi tapa, jolla palvelimen turhaa loadia voi keventää on tehdä chattiin toiminto, joka tiputtaa viestikyselyiden tiheyttä huomattavasti, mikäli chattiin ei ole tullut vähään aikaan viestejä.
Voittoja viikkokisoissa: 3
http://fugufish.dy.fi/ | vanhat cb-pelini: http://porzi.arkku.net/old_games/

User avatar
Pettis
The Evil Admin
The Evil Admin
Posts: 1038
Joined: Sun Aug 26, 2007 5:08 pm
Location: Rovaniemi
Contact:

Re: PHP-ongelmat

Post by Pettis » Tue May 10, 2011 12:13 pm

Enemmän tuossa chatin kuormituksessa merkitsee se, että kuinka nopea palvelin on ja kuinka raskaiden sovellusten päällä chatti pyörii. Jos jokainen chatin kysely palvelimelle menee esim. Apachen päällä pyörivälle PHP:lle, on tämä raskasta. Jos sama määrä kyselyitä menee esimerkiksi node.js:lle tai vaikkapa nginxin tai lighttpd:n päällä pyörivälle PHP:lle niin ollaan jo paljon kevyemmillä vesillä. Vielä jos mukana on PHP opcode-cache, niin jokaisen kyselyn tuoma kuorma pienenee entisestään aika suuresti.

Apache on rakas. Sitä on turha käyttää pieniin ja nopeutta vaativiin kyselyihin. Apachen etuja on kuitenkin laaja käyttäjäkunta, vakaus ja erilaisten moduulien helppo saatavuus ja suuri määrä.

Toinen vaihtoehto on käyttää kunnon ohjelmointikieliä PHP:n sijaan, jolloin chatin palvelimen pään ohjelmaa voi ajaa siten, että chattikoodi on koko ajan käynnissä ja odottaa vain palvelimen HTTP-pyyntöä, johon vastaus tulee nopeammin, kun koodia ei tarvitse käynnistää uudelleen.
CB Repository .com - Sinne ne kaikki koodit menneet on!
MunVerkko - Ilmaisia foorumeita ja blogeja

DJ-Filbe
Devoted Member
Posts: 853
Joined: Sat Feb 20, 2010 3:18 pm

Re: PHP-ongelmat

Post by DJ-Filbe » Tue May 10, 2011 4:39 pm

Arkkunetissä. Ei omaa palvelinta ;(

DJ-Filbe
Devoted Member
Posts: 853
Joined: Sat Feb 20, 2010 3:18 pm

Re: PHP-ongelmat

Post by DJ-Filbe » Wed Jun 15, 2011 11:13 am

Code: Select all

if ($handle = opendir('.')) {
	while (false !== ($file = readdir($handle))) {
		if ($file != "." && $file != "..") {
			if ((strpos($file,"n") && $_GET['n'] == "1") || (!strpos($file,"n") && $_GET['n'] == "0")) {
				echo $file.chr(10);
			}
		}
	}
	closedir($handle);
}
Tämän pitäisi toimia näin:
- Jos GET-parametri n=1 niin listataan tiedostot, joiden nimen ensimmäinen kirjain on 'n'.
- Jos GET-parametri n=0 niin listataan tiedostot, joiden nimen ensimmäinen kirjain ei ole 'n'.

Mikä failaa?

User avatar
Jare
Moderator
Moderator
Posts: 860
Joined: Mon Aug 27, 2007 10:18 pm
Location: Helsinki

Re: PHP-ongelmat

Post by Jare » Wed Jun 15, 2011 11:54 am

DJ-Filbe wrote: Tämän pitäisi toimia näin:
- Jos GET-parametri n=1 niin listataan tiedostot, joiden nimen ensimmäinen kirjain on 'n'.
- Jos GET-parametri n=0 niin listataan tiedostot, joiden nimen ensimmäinen kirjain ei ole 'n'.

Mikä failaa?
Strpos() palauttaa haettavan merkkijonon paikan tai false, jos sitä ei löydy. Ensimmäisen merkin paikka on 0, toisen 1 jne. Joten jos nimi alkaa n-kirjaimella, strpos() palauttaa 0, mikä evaluoituu falseksi, ellet vertaa arvoa näin:
- 0 === strpos(*parametrit*) //n-kirjain on ensimmäisenä
- 0 !== strpos(*parametrit*) //n-kirjain ei ole ensimmäisenä

DJ-Filbe
Devoted Member
Posts: 853
Joined: Sat Feb 20, 2010 3:18 pm

Re: PHP-ongelmat

Post by DJ-Filbe » Wed Jun 15, 2011 12:18 pm

Jare wrote:
DJ-Filbe wrote: Tämän pitäisi toimia näin:
- Jos GET-parametri n=1 niin listataan tiedostot, joiden nimen ensimmäinen kirjain on 'n'.
- Jos GET-parametri n=0 niin listataan tiedostot, joiden nimen ensimmäinen kirjain ei ole 'n'.

Mikä failaa?
Strpos() palauttaa haettavan merkkijonon paikan tai false, jos sitä ei löydy. Ensimmäisen merkin paikka on 0, toisen 1 jne. Joten jos nimi alkaa n-kirjaimella, strpos() palauttaa 0, mikä evaluoituu falseksi, ellet vertaa arvoa näin:
- 0 === strpos(*parametrit*) //n-kirjain on ensimmäisenä
- 0 !== strpos(*parametrit*) //n-kirjain ei ole ensimmäisenä
Kiitos! Tuo auttoi :)
Vielä kun tiedostot voisi järjestää ajan mukaan nousevassa järjestyksessä (vanhimmat ensin) niin olisi loistavaa!
Last edited by DJ-Filbe on Wed Jun 15, 2011 12:40 pm, edited 1 time in total.

User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: PHP-ongelmat

Post by esa94 » Wed Jun 15, 2011 12:36 pm

Jare wrote:
DJ-Filbe wrote:0 === strpos(*parametrit*) //n-kirjain on ensimmäisenä
Eikö myös 0 == strpos(... toimisi, kun kerran 0 evaluoituu falseksi joka tapauksessa?
EDIT:

Tietty === on tyyppiturvallisempi

EDIT:

aa aivan strpos palauttaa false jos ei löydy :D

⁴⁰Ar
<@mikeful> kissatehtaalla on miukuhihna.

User avatar
valscion
Moderator
Moderator
Posts: 1585
Joined: Thu Dec 06, 2007 8:46 pm
Location: Espoo
Contact:

Re: PHP-ongelmat

Post by valscion » Wed Jun 15, 2011 5:57 pm

DJ-Filbe wrote:Vielä kun tiedostot voisi järjestää ajan mukaan nousevassa järjestyksessä (vanhimmat ensin) niin olisi loistavaa!
Näyttääpäs hankalalta tuo sinun koodisi. Eikö helpompaa olisi vain käyttää scandiriä ja sitten järjestäisit arrayn filemtime-funktion avulla? Jos haluaisit vielä käydä kansiot rekursiivisesti läpi niin NetMatchin updaterin PHP-koodin tutkiskelu voi auttaa. Tälläistä se tulostaa.
cbEnchanted, uudelleenkirjoitettu runtime. Uusin versio: 0.4.1 — Nyt myös sorsat GitHubissa!
NetMatch - se kunnon nettimättö-deathmatch! Avoimella lähdekoodilla varustettu
vesalaakso.com

User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: PHP-ongelmat

Post by axu » Thu Jun 16, 2011 5:03 pm

Ihan nopeasti semmonen kysymys, että mikä mahtaa olla helpoin tapa testata PHP-skriptien toimivuutta (ilman nettiin uppaamista)? Apache-palvelimen asennus ja siihen PHP:n asennus vaikuttaa yliampuvalta pelkästään tätä tarkoitusta varten, onko jotain kevyempää?
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image

User avatar
temu92
Web Developer
Web Developer
Posts: 1226
Joined: Mon Aug 27, 2007 9:56 pm
Location: Gamindustri
Contact:

Re: PHP-ongelmat

Post by temu92 » Thu Jun 16, 2011 6:10 pm

Tuskin muu siinä nyt auttaa. Onhan Apachea varten olemassa valmispaketteja, ettei tarvitse itse asentaa kaikkea käsin jos sitä tarkoitat. Itse käytän XAMPP:ia jossa on Apache, PHP, MySQL, Perl ja ties mitä vielä.

Muistaakseni ohjelmointiputkassa oli joku sivu (jonka osoitetta en muista) jolla pystyi testaamaan koodinpätkiä, mutta ympäristö on todella rajoitettu väärinkäyttöjen estämiseksi.
Last edited by temu92 on Thu Jun 16, 2011 6:11 pm, edited 1 time in total.

User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: PHP-ongelmat

Post by esa94 » Thu Jun 16, 2011 6:11 pm

axu wrote:Ihan nopeasti semmonen kysymys, että mikä mahtaa olla helpoin tapa testata PHP-skriptien toimivuutta (ilman nettiin uppaamista)? Apache-palvelimen asennus ja siihen PHP:n asennus vaikuttaa yliampuvalta pelkästään tätä tarkoitusta varten, onko jotain kevyempää?
*AMP tikulle?
EDIT:

Niin, vaikkapa tuo XAMPP

Toinen vaihtoehto on ladata PHP ja ajaa skriptit vain suoraan sen parserin läpi.

⁴⁰Ar
<@mikeful> kissatehtaalla on miukuhihna.

User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: PHP-ongelmat

Post by axu » Thu Jun 16, 2011 9:39 pm

Kiitoksia vastauksista :)
EDIT:

En saa XAMPPia toimimaan... Latasin installerin ja asennuksen jälkeen XAMPP ohjauspaneelista painoin Start (Apache) nappia ja vaikka se väittää, että Apache lähti käyntiin (portti asiaankuuluvasti 80), ei http://localhost/ palauta mitään. Ei index.htmlää eikä 404 erroria tahi kansiolistausta. Pitäisikö jotain konffaamista tehdä? Jos niin mitä muutoksia?

Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image

User avatar
Pettis
The Evil Admin
The Evil Admin
Posts: 1038
Joined: Sun Aug 26, 2007 5:08 pm
Location: Rovaniemi
Contact:

Re: PHP-ongelmat

Post by Pettis » Sun Jun 19, 2011 7:40 pm

Sen Apachen oikeasti asentaminen nyt ei ole sen kummempi operaatio kuin asentaa se apache ja sitten PHP. Tämän jälkeen googlataan sopiva konffipätkä PHP:n käyttöönottamiseksi apacheen ja pastetaan se Apachen konffiin. Toki jos noilla "helppopaketeilla" on sotkenut jotain oleellisia asetuksia koneestaan, niin kunnollisen devikonffauksen tekeminen voi olla aika infernaalista.

Btw. Allekirjoituksessa on linkkiä webmasterfoorumiin, josta koitan tehdä suomenkielistä webbijuttuihin keskittyvää foorumia.
CB Repository .com - Sinne ne kaikki koodit menneet on!
MunVerkko - Ilmaisia foorumeita ja blogeja

User avatar
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: PHP-ongelmat

Post by Feuer » Sun Jun 19, 2011 10:21 pm

Muistanko aivan väärin, vai eikös korrekti osoite portissa 80 elävään palvelimeen ole localhost:80 eikä silkka localhost?
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG

Post Reply

Who is online

Users browsing this forum: No registered users and 13 guests