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 |