Vyhledávače.info » Poradna » SEO » Session jen pro uzivatele - penalizace??

Session jen pro uzivatele - penalizace??

Autor Zpráva
jirin
Člen
Zdravim, resim predavani session tak, ze ho zapinam jen pokud se jedna o navstevnika. Ci-li je-li to robot, tak session ani nezapiman. Myslite, ze za ot hrozi penalizace? Je to sice "jiny druh adres" pro vyhledavace, ale jine reseni me nenapada. Osobne si myslim, ze to na penalizaci neni. Vas nazor?:-)

#1 Zasláno: 21.2.06 21:36

petr
Člen
Rek bych ze urcite zadna penalizace za to neni.

Ps: Nejak nechapu,jak nastavit, aby se session nespoustelo jde-li o robota ? Asi mi utekly nejake vedomosti :(

#2 Zasláno: 21.2.06 22:08

jirin
Člen
Zdravim,
nekdo mi rikal, ze u sebe nosi roboti v user_agentu sve jmeno a vsechny zname maji vzdy u sebe sluvko "bot" (googlebot, atd.) jen centrum ma holmes. ci-li by snad melo byt funkcni:

[code]
$user_agent=$_SERVER['HTTP_USER_AGENT'];
if(!stristr($user_agent,'validator') AND !stristr($user_agent,'bot') AND !stristr($user_agent,'holmes')){ //pokud neni robot nebo validator nasadim session
session_start();
}
[/code]

Pokud tam vidite nekdo problem, budu rad, kdyz me upozornite;)

#3 Zasláno: 21.2.06 22:17 - Změnil/a: jirin

Marek Prokop
Moderátor
Za to, že robotům nevkládáte session id do URL, vám žádná penalizace nehrozí. Naopak tím umožníte indexaci webu. Je to ale metoda dost nesystémová. Lepší by bylo vkládat session id do URL až po určitých akcích, které robot nikdy neudělá, např. přihlášení, přidání zboží do košíku apod.

#4 Zasláno: 22.2.06 8:30

MichalekII
jirin: a není ten kod náhodou chybný???

nemělo by tam čistě náhodou místo logického operátoru AND být OR?

#5 Zasláno: 22.2.06 10:54

petr
Člen
ALL:

Prosim Vás já vůbec nerozumím tomu, jak globalne zapinat session naprikald po akci, kdy se odesle formular do kosiku ?

Jak pak poznam napriklad na strance home (kdyz prejdu z kosiku), ze uz session maji / nemaji byt spusteny, kdyz tam nebude zadna vazba pred tim ? :(

jirin
jj MichalekII ma pravdu mas tam mit OR (nebo) a ne AND (zaroven)

#6 Zasláno: 22.2.06 16:36

jirin
Člen
MichalekII: Petr: ne musi tam byt AND, jinak mi to nejde, a treba u validatoru se to nechyta...

Marek Prokop: bohuzel zde ot nemohu uskutecnit, mam totiz stejny obsah, jak po prihlaseni (zde musim mit session) tak pred prihlasenim, jinak ho zapnout nemohu...

#7 Zasláno: 22.2.06 17:05

Marek Prokop
Moderátor
Jirine, nerozumím, jak to souvisí s obsahem. Session přeci slouží k uchování informací mezi přechodem ze stránky na stránku. Jsou tedy čtyři možnosti:

1) V session nic není resp. vůbec neexistuje a tak tomu bude i nadále, protože se uživatel dosud nepřihlásil (nehodil nic do košíku apod.).

2) V session sice ještě nic není, ale právě se provádí přihlášení (vhození do košíku), takže je třeba session založit a naplnit.

3) V session už něco je, takže se to tam musí držet dál.

4) V session sice už něco je, ale právě se provádí odhlášení, takže se session zruší.

Nechtějte ode mne, jak se to provede v konkrétním serverovém prostředí a/nebo jazyce, to už si budete muset zjistit sami. Ve všech běžných (PHP, ASP a další) to ale určitě jde.

#8 Zasláno: 22.2.06 17:25

jirin
Člen
Marek: Asi jsem to blbe vysvetlil, zkratka: mam prihalsovaci modul na webu, pokud se uzviatel prihlasi zaregistruju session, ze je prihlasen a on se ted muze pohybovat po webu cist clanky, prispivat pod svym loginem atd.

Pokud se neprihlasi, tak muze take prochazet clanky apod. a ja potrebuji nastartovat v kazdem skriptu session, abych zjistil, zda je ten prihlaseny nebo nikoli.

Jedine reseni me napada udelat zrcadlo, ale to asi nepujde jen tak lehce:-)

#9 Zasláno: 22.2.06 17:37

Marek Prokop
Moderátor
Co to znamená nastartovat session? Já sice PHP vůbec neumím, ale nějak se mi nezdá, že by nešlo zjistit, zda session existuje, dokud ji nezaložíte. To by přeci nedávalo smysl.

#10 Zasláno: 22.2.06 18:20

petr
Člen
jirin
O tomhle vubec nepochybuj, kdyz mas vsude AND znamena to prostě, že musi byt splněny všechny ty závorky (u OR alespon jedna).
To jestli se ti to nechyta při nějáké varinatě je už věc ta, že to není dokonale napsáno / ošetřeno - takže špatně.

Marek
nastartovat session bude znamenat zapis session_start() tím se řekne prohlížeči, že se (bude) pracuje s session.

Asi by slo podat dotaz zda existuje hodnota session_name nebo session_id a pokud ano byly session pouzity a pokud ne, tak session nestartovat - to vyzkousim protoze me to samotnyho zajim, jak to vypinat a zapinat.

#11 Zasláno: 22.2.06 20:04 - Změnil/a: petr

jirin
Člen
Petr: ja si nemohu pomoci, me se to zda korektne - pokud to NEMA v sobe bot a zaroven NEMA v sbe holmes a zaroven NEMA validator... pro me je hlavni ze ot ted funguje jak ma, si to zkus, a uvidis ze to s tim or nejde...

#12 Zasláno: 22.2.06 20:10

petr
Člen
jirin
Podle me to rika to, že to nesmi mit ty tri slova soucasne dohromady naráz, což nikdy nenastane :) s OR by to rikalo ze to nesmi mit jednu z tech slov v nazvu. s OR to mozna bude chtit jeste dat do zavorek na to je OR citlivy.

#13 Zasláno: 22.2.06 20:22

jirin
Člen
Petr: schvalne to zkuste, jestli to pudje tou vasi metodou, me to fakt nejde takhle - testuju to na validatoru W3C.

A pokud to ted vezmu z druheho pohledu, tak se preci musi pustit jen, kdyz bude vsechno ZAROVEN false, ne? Logicky mi tam pasuje OR=nebo; to bez pochyby ale prakticky opravdu jen AND... Rozepsal jsem si tu podminku schvalne takto:
if((stristr($user_agent,'bot') === FALSE) AND (stristr($user_agent,'holmes' === FALSE)) AND (stristr($user_agent,'validator') === FALSE)){

a tam take OR nejde:-)

#14 Zasláno: 22.2.06 20:36

MichalekII
K tomu kodu, samozrejmě je spravně, jsem se šptně koukl, apřehlédl jsem tam ty negace ;-)

Ohledně penalizace si myslím, že byweb penalizován být neměl a to z tohu důvodu, že SESSION je poze proměnná která se buďto za některých podmínek nastaví nebo ne, a na výslůedný obsah webu zásadní vliv nemá

#15 Zasláno: 23.2.06 11:30

jirin
Člen
MichalekII: Diky, ale malem jste me presvedcili:-)

#16 Zasláno: 23.2.06 18:14

(lze používat BBCode, ne Textile)

Ochrana proti spamu. Napište prosím číslici čtyři:

Heslo zadejte, jen pokud jste registrováni.

TOPlist