|
laacz tagad
klausās:
Radio NABA
Autora domas ne vienmēr sakrīt ar autora domām. © spectatorIr pagājuši 24 gadi un 7 mēneši un 13 dienas kopš mana mūža laimīgākās dienas
Papildus 3355 maniem pļurkšķiem ir sapļurkstēti 33189 sveši pļurkšķi.
ICQ: #58279153 (very rarely)
MSN:
E-mail:
Mazās pustizlās ikoniņas aiz linkiem (ne visiem) arī šo to nozīmē.
|
|
<br />
<br />
<br />
2004 28. oktobris ceturtdiena
15:59 |
Atkal jau es stāstīšu par datorlietām :) Ir tāda lieta, ka nepieciešams katram WAP lapas lietotājam unikāls identifikators. Ja tas būtu parasts pārlūks, es ar lielāko prieku izmantotu PHP sesijas. Bet, WAP'ā rodas vairākas problēmas.
- Ļoti nedaudzas ierīces atbalsta cookies. Līdz ar to šis sesiju identifikatoru glabāšanas mehānisms neder.
- Tā kā daudzām ierīcēm maksimālais WML dokumenta izmērs ir ierobežots (nepilns pusotrs kilobaits), tad katrā linkā iestrādājot sesijas identifikatoru, diezgan spēcīgi palielinās WML dokumenta apjoms. Un paliek dikti maz vietas saturam.
Tad nolēmu darīt makten viltīgi. Pirmais - izmantojot glaunās priekšrocības, kuras iegūstam, izmantojot mod_rewrite iespējas, sesijas identifkators tiek padots, neizmantojot GET metodi.
Ja mums līdz šim hipotētiskā adrese ir bijusi /ad/rese/fails?sid=SESSION_ID , tad tagad mums būs šāda: /SESSION_ID/ad/rese/fails .
Un ko mēs iegūstam? To, ka, ja visi linki WAP lapā ir relatīvi, mums vispār dokumentos vairs nav jānorāda šis identifikators. Teiksim, links uz sākumlapu no /SESSION_ID/ad/rese/fails tiek norādīts kā <a href="../../../"...
Vēl viena lieta. Ja mēs kā sesijas identifikatoru izmantojam teksta rindu, kura sastāv no visiem latīņu alfabeta burtiem un cipariem (a-b, 0-9), iegūstam iespēju šo identifikatora garumu samazināt līdz pat 5 simboliem. Iespējamo kombināciju skaits ir pietiekams (69 343 957), lai nesatrauktos par iespējamo brute force uzbrukumu. It īpaši, piesaistot šo identifikatoru lietotāja IP adresei.
P.S. Whitespace izmešana no WML dokumentiem ir absolūti nevajadzīga padarīšana, jo pārsūtāmo datu apjomu samazina minimāli. Vismaz ne tik daudz, lai sevišķi iespringtu šajā sakarā.
|
jnk (#24500) |
16:33 @ 2004. gada 28. oktobris, ceturtdiena
|
new mode_rewrite ir laikam domāts mod_rewrite ? |
Lupus (#24501) |
16:34 @ 2004. gada 28. oktobris, ceturtdiena
|
new A lūk ja tu man dosi labu padomu kā akurāt tādu pašu ideju realizēt iekš tomcat, dikti priecāšos ;D |
laacz (#24502) |
16:35 @ 2004. gada 28. oktobris, ceturtdiena
|
new jnk: aga |
laacz (#24503) |
16:37 @ 2004. gada 28. oktobris, ceturtdiena
|
new Lupus: tieši mod_rewrite? http://www.google.com/search?as_q=url+rewriting&as_sitesearch=jakarta.apache.org |
Neonz (#24504) |
18:08 @ 2004. gada 28. oktobris, ceturtdiena
|
new Nu ar whitespace izņemšanu ir tā, ka tas ir bezjēdzīgi, jo WML fails no WAP gateway uz mobzu tiek sūtīts saspiestā veidā, cik zinu. |
Neonz (#24505) |
18:09 @ 2004. gada 28. oktobris, ceturtdiena
|
new Ak jā, un vispār šo fīču var realizēt arī bez mod_rewrite izmantojot Apache core features :) |
laacz (#24506) |
18:14 @ 2004. gada 28. oktobris, ceturtdiena
|
new Neonz:
Neba par to es runāju :) Lasi uzmanīgāk :) Mazāks WML fails ir vajadzīgs tāpēc, ka dažādiem telefoniem ir dažādi pieļaujamie maksimālie WML failu izmēri. Par to esmu gluži nesen jau rakstījis - http://laacz.lv/blog/2004/10/21/vel_viens_wap_hints.
Par tām //core features//. Jā, bet čerez žē :) Use right tools for the job. ErrorDocument metode piekakā logfailus. Vai arī ir kāda cita metode, par kuru neesmu iedomājies? |
Neonz (#24507) |
18:40 @ 2004. gada 28. oktobris, ceturtdiena
|
new laacz: Nu ForceType metode man liekas gana sakarīga. Skat. http://spectator.ru/technology/php/user_friendly_urls |
laacz (#24508) |
18:45 @ 2004. gada 28. oktobris, ceturtdiena
|
new Tas der tikai tad, ja Tev saits atrodas apakšdirektorijā (tb - links ir wap.saits.lv/dir/) Bet ko darīt, ja Tavam saitam ir adrese wap.saits.lv ? Tu katram SID'am taisīsi atsevišķu failu? :) |
Neonz (#24509) |
19:27 @ 2004. gada 28. oktobris, ceturtdiena
|
new laacz: īsti neiebraucu, ko tu ar to domāji
iekš .htaccess liekam:
-------------------------
Action throw /index.php
<FilesMatch "^([^.]+)$">
ForceType throw
</FilesMatch>
<FilesMatch index.php>
ForceType application/x-httpd-php
</FilesMatch>
-------------------------
Tālāk mums būs fails index.php, kurš no $_SERVER['REQUEST_URI'] dabūs gan sesijas id, gan failu, kas tālāk jāincludo. Piemēram:
index.php
-------------------------
<?php
/* Ja URI bez sesijas id, redirekteejam uz taadu ar sesijas id */
# Te vaidzees izdomaat kaadu viltiigu algoritmu, peec kaa noteikt, vai URI satur sesijas id, vai tikai failu, kas jaaincludo. Piemeeram, varam noteikt, ka sesijas id saakas ar ciparu, bet includojamo failu pirmaas pakaapes direktoriju nosaukumi nekad.
/* Dabonam sesijas id un failu kas jaaincludo */
$sesijas_id = substr($_SERVER['REQUEST_URI'], 1, strpos('/', $_SERVER['REQUEST_URI'], 1));
$fails = substr($_SERVER['REQUEST_URI'], strpos('/', $_SERVER['REQUEST_URI'], 1)+1);
/* Includojam */
include $fails;
?>
-------------------------
Tālāk jau $fails būs mūsu īstais PHP scenārijs, kurš no mainīgā $sesijas_id dabūs sesijas identifikatoru.
Ja ir vajadzība vel padod kaut ko līdzīgu QUERY mainīgajiem, tad jāuzrakstā būs nedaudz viltīgāks kods.
P.S. Rakstīts on-the-fly, var būt kādi gļuki. |
laacz (#24510) |
19:34 @ 2004. gada 28. oktobris, ceturtdiena
|
new Neonz. Skaidrs. Šitā strādā. Arī variants. |
Kirils (#24548) |
21:31 @ 2004. gada 29. oktobris, piektdiena
|
new ip adresei? visiem tak ir viena.
btw, LMT pats iedod unikaalu forwarded_for headeros, taa kaa tas prakstiski nav vajadziigs. ja cilveeks aizmirst nospiest logout, tad gan ir ziepes.
tele2 protams kaa parasti gulj ziemas miegu |
laacz (#24561) |
08:17 @ 2004. gada 1. novembris, pirmdiena
|
new Kirils: Hederis tiek dots TIKAI tad, ja tiek izmantots LMT proxy. Līdz ar ko, ir lietotāji, kuri šo maģisko iespēju neizmanto. |
Mazliet komentāru kultūras, jeb laacziquette
- Ja tu gribi pateikt tikai ':)', tad saki to sev un pie spoguļa. Pašam prieks un es esmu mierīgs.
- Neaizraujies ar enteriem savā komentārā. Pavisam nav obligāti likt divus vai trīs enterus pēc katras uzrakstātās rindiņas.
- Offtopiks (komentāri ne pa tēmu) nav no gaidītākajām lietām.
- Galu galā, ja tev ir verbāla caureja, ej uz delfiem vai arī taisi pats savu lapu.
- Pirms spiest pogu, padomā. Varbūt tu vēl neesi visu pateicis? Lai nebūtu pēc tam vēl 26 pēc kārtas esošu komentāru jāraksta.
- Vēlies runāt ar kādu cilvēku, uzraksti viņam vēstuli. Ir daži izņēmumi. Agressor, tu neesi izņēmums.
- Un, galu galā, paturu tiesības jebkuru sev neimponējošu komentāru izmēzt.
- Par izņēmumu kādā no šiem punktiem, vai arī visos noteikumos var kļūt, uzrakstot iesniegumu un iedodot man to rokā. Iesnieguma vēlamais apjoms - 0.7 laba viskija.
- Gan jau kaut ko vēl izdomāšu.
|