Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Selaimen tunnistaja

Sivun loppuun

Tontttu [24.10.2005 15:40:41]

#

Äh.. Varmasti oon nähny tämmösen php-koodin jossakin, joka tunnistaa käyttäjän selaimen.. Nyt ei vaan millään meinaa löytyy mistään sitä.. Nyt kysyn siis täältä sitä. Olis tarkotus laittaa sen avulla ilmotus sivuilleni sillein, et ie:n käyttäjät vaan näkee sen, ongelmaa vähän sille selaimelle vielä uudistetuissa sivuissa..

ipe [24.10.2005 16:13:33]

#

Valmista koodia en ainakaa mä anna, mut vinkki:

<?php
  $selain=$_SERVER["HTTP_USER_AGENT"];
?>

Tuosta on helppo jatkaa ;)

Tontttu [24.10.2005 16:53:44]

#

Juu, niitten ketkä on koodaillu vähän kauemmin.. Mä oon aika aloittelija vielä tässä, toi koodinpätkä ei meinaa sanoo mulle yhtään mitään :S

tsuriga [24.10.2005 17:59:42]

#

Käytellään sitä php.netin hakua: https://www.php.net/manual/en/reserved.variables.php#reserved.variables.server --> https://www.php.net/manual/en/function.get-browser.php

Juice [24.10.2005 19:21:46]

#

Lisäksi on olemassa toinen tapa näyttää sisältö vain IE:lle, huomattavasti helpompi tosin:

<!--[if IE]>
<a href="http://getfirefox.com">Get Firefox</a>
<![endif]-->

Eli noiden kommenttilohkojen väliin se HTML, joka näkyy vain IE:lle.

Matso [24.10.2005 20:30:34]

#

Miten php muka voi päästä käyttäjän selainta tutkimaan? Sehän suoritetaan palvelimella..

Deewiant [24.10.2005 20:36:51]

#

Selain lähettää palvelimelle tietoa sivua pyytäessään, josta palvelimella suoritettava koodi voi ottaa selaimesta selvää.

ajv [24.10.2005 20:37:09]

#

Matso kirjoitti:

Miten php muka voi päästä käyttäjän selainta tutkimaan? Sehän suoritetaan palvelimella..

Siten, että selain lähettää (jos lähettää) http-otsakkeessa sivunpyynnön yhteydessä hieman informaatiota itsestään (User Agent).

Äh, 18 s liian hidas :/

panttu [24.10.2005 21:16:06]

#

IE:n tapauksessahan pientä kikkaa käyttäen on mahdollista lukea surfaajan leikepöydän sisältökin. Kyseinen kikka onnistuu tekemällä pieni JavaScripti, joka POSTaa leikepöydän sisällön OnLoad tapahtumassa takaisin selaimelle. Eli periaatteessa kaikki mitä JavaScriptillä voi tehdä on tutkittavissa myös PHP:llä pientä kikkaa käyttäen.

Esimerkki ei muuten toimi firefoxsissa tai oopperassa, jos asetuksista ei ole muutettu leikepöydän käsittely ehtoja sallimaan sitä JavaScriptille. IE:ssä kyseinen on sallittua. Eihän kellekkään IE:n käyttäjälle tule pahoja mieleen, että olisi joskus salasanan kopioinut leikepöydälle "vain hetkeksi". :)

Lebe80 [25.10.2005 10:04:34]

#

Hitto et on muuten hanurista. Mitähän IE:tä tehdessä ovat ajatelleet. Kuitenkin tuota voi jo käyttää jonkin luokan tietomurtokikkana.

Onkos muuten tietoa, onko tämä aivan oikea javascript-ominaisuus, vai Micro$oftin omia lisäyksiä (niin kuin ie:n omat "html-tägitkin")?
Ja koodi kaikessa yksinkertaisuudessaan.

<HEAD>
<SCRIPT>
// SaveToClibboard
function S2CB() {
  window.clipboardData.setData('Text', event.srcElement.innerText);
}
function GCB() {
  alert(window.clipboardData.getData('Text'));
}
</SCRIPT>
</HEAD>
<BODY onload="GCB()">

<B ID="oSource" onClick="S2CB()">111</B><br>
<B ID="oSource1" onClick="S2CB()">222</B><br>
<B ID="oSource2" onClick="S2CB()">333</B><br>

</BODY>
</head>

ipe [25.10.2005 21:51:04]

#

Lebe80 kirjoitti:

Onkos muuten tietoa, onko tämä aivan oikea javascript-ominaisuus, vai Micro$oftin omia lisäyksiä (niin kuin ie:n omat "html-tägitkin")?
Ja koodi kaikessa yksinkertaisuudessaan.

Mitäs tuo sitten IE:llä tekee? Firefoxis ainaki tulostaa vaan lihavoituna nuo numerot O_o

panttu [25.10.2005 22:42:32]

#

Lebe80 esimerkissä on onload tapahtumaan laitettu tulemaan virhe ilmoitus sivua avatessa. Virhe ilmoituksessa pitäisi olla leikepöydän sisältö. IE:llä näin onkin, mutta firefox kieltäytyy suorittamasta koodin. Nuo luvut tuossa lopussa tulee kuten pitääkin boldattuna, mutta niitä klikkaamalla luvun pitäisi siirtyä leikepöydälle, mutta jälleen IE tekee työtäkäskettyä, niin työtysti luvun klikkauksen jälkeen on päivitettävä sivu, jotta varoitus viesti kertoo mitä leikepöydälle on tallennettu.

Onhan tuosta ominaisuudeta paljon hyötyä, mutta on se myös vaarallinen väärinkäytettynä, joten viisas päätös selaimen suunnittelulta estää se. Yleensä sivuilla leikepöytää tarvitaan vain tiedon siirtoon, mutta sen nyt voi tehdä myös itse ja automatisoinnissa voi käyttää keksejä korvaamaan leikepöydän tai jc:n muuttujia.


Sivun alkuun

Vastaus

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

Tietoa sivustosta