Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: nettiosotteen tarkistus

Sivun loppuun

Forcer [07.09.2003 16:48:46]

#

niin kun käyttäjä laittaa formissa textboxiin kotisivunsa osoitteen niin miten pystyy tarkistaan php:llä että onko kyseinen sivu olemassa?

Antti Laaksonen [07.09.2003 17:29:03]

#

Valitettavasti mitään varmaa konstia sivun olemassaolon tarkastamiseen ei ole. Jos kotisivujen osoitteiden on välttämättä oltava oikeita, niin tarkista uudet osoitteet itse ennen niiden hyväksymistä (tämä tietenkin kestää). Itse kyllä luottaisin siihen, että suurin osa käyttäjistä kirjoittaa oikean osoitteensa ilman muuta.

leftover [07.09.2003 19:39:09]

#

Eräs tutustumisen arvoinen voisi olla https://www.php.net/manual/en/ref.sockets.php (ei enää tarkkaa muistikuvaa oikeasta funkkarista).

Näillä joskus yritin tehdä automaattista linkkitarkistajaa, joka kelaa kaikkien (omien) sivujen kaikki a-tagin sisällä olevat http:// -alkuiset linkit, kuitenkin heikoin tuloksin.

Parempaa onnea sinne suuntaan.

leftover [07.09.2003 21:54:25]

#

Jaa, en sitten saa kirjautua ulos enkä muokata omia tekstejäni... Muistui mieleen funktio eli https://www.php.net/manual/en/function.fsockopen.php ja manuaalista näköjään löytyi jo valmiiksi pieni esimerkkikin. Tuo ei vain toiminut osoitteissa muotoa http://www.omadomain.com/jokusivu.php , mutta tähänkin oli olemassa joku viriviri jonka joskus muistin...

NiLon [12.09.2003 11:22:47]

#

Kävisikö file funktio eli

$array = file("URL");
if (!$array) { print "sivua ei ole"; }

leftover [12.09.2003 12:03:36]

#

Tuo toimii ainoastaan jos palvelin ei palauttaisi virhesivua. http://joppe.com/eipäslöydy.htkp palauttaa ainakin hienon mandariinikiinankielisen virhesivun joten ei taida toimia :-)

T.M. [12.09.2003 13:10:19]

#

niinpä, omilla sivuillani on tehty niin, että jos sivua ei löydy, se menee sivulle jossa lukee "sivua ei löydy", jolloin scripti voi luulla että sivu löytyi :P

Blaze [12.09.2003 22:50:21]

#

C:\Program Files\Lynx>lynx -head -dump https://www.ohjelmointiputka.net
HTTP/1.1 200 OK
Date: Fri, 12 Sep 2003 19:48:49 GMT
Server: Apache
Connection: close
Content-Type: text/html

C:\Program Files\Lynx>lynx -head -dump https://www.ohjelmointiputka.net/eioo.wsge
HTTP/1.1 404 Not Found
Date: Fri, 12 Sep 2003 19:48:57 GMT
Server: Apache
Connection: close
Content-Type: text/html; charset=iso-8859-1

Noita tutkimallahan se selviää.

T.M. [13.09.2003 18:24:13]

#

niin, ja miten noi saa PHP:llä selville?

ja entä jos sivu siirtyy automaattisesti johonkin osoitteeseen jos sivua ei löydy?

NiKC [13.09.2003 18:41:34]

#

Redirect palauttaa myös oman statuskoodinsa, aivan kuten puuttuva sivu.

Http-protokollan speksejä tutkimallahan nuo selviää.

http://www.w3.org/Protocols/rfc2616/rfc2616.html

Blaze [13.09.2003 20:41:31]

#

lainaus:

Redirect palauttaa myös oman statuskoodinsa, aivan kuten puuttuva sivu.

Oikein tehty sellainen. <meta>-virityksille ei mahda mitään.

NiKC [14.09.2003 15:47:40]

#

Mutta jotta voisi tulla jotain <meta>-virityksiä pitää löytyä ensin joku sivu ja silloinhan statuskoodi on (todnäk) joko 200 tai 404.

lainaus:

ja entä jos sivu siirtyy automaattisesti johonkin osoitteeseen jos sivua ei löydy?

Vai tarkoitettiinko tuolla niitä 'Sivu on siirtynyt' ilmoituksia? Niille ei luonnollisestikaan voi mitn mutta löytyyhän se sivu loppujen lopuksi kuitenkin.

Näitä varten voikin väsätä sellaisen 'Ilmoita rikkinäisistä linkeistä'-featuren. Jos sen tekee mahdollisimman helpoksi, esim. niin että ilmoitus onnistuu linkkiä klikkaamalla, voi jopa olla että mahdollisuutta käyttävät nekin jotka ei ole "valveutuneita" internetin käyttäjiä. Itse en ainakaan (kovinkaan usein) jaksa millään e-maililla ruveta moisista ilmoittelemaan.

NiLon [17.09.2003 13:09:01]

#

Tekee funktion joka tutkii nuo headerit ja jos tulee virhe tai ei tule mitään niin sivua ei ole olemassa, silleehän tuon saa helposti. Ainoo että en tiedä miten headereita voi lukea mutta eiköhän sekin löydy php manuaalista.


Sivun alkuun

Vastaus

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

Tietoa sivustosta