BLOGveida draza tehniskajā pierakstā

Par pods.lv un hackers.lv nepilnībām

Par pods.lv un hackers.lv nepilnībām (21 komentārs)

Kirils 2004-06-30 23:50:10 Tehnoloģijas
Man motors vēl pavisam jauns, bet gļuku mazāk. (hehe, tāpēc jau arī mazāk, ne?). LV interneta sabiedrība lūdza dalīties šajā nelielajā, bet, viņuprāt, ļoti noderīgajā kodā, jo šīs problēmas nomoka arī viņu saitus.

Šis kods salabo hackers.lv tipa komentu postēšanu uz Operas u.c. standartpiekasīgiem browseriem.
header("HTTP/1.1 301 Moved Permanently");
header("HTTP/1.1 302 Found");
header("Location: http://host.lv/address/file.php?smth=1&other=2#anchor");
header("Connection: close");
die;
Pamanīju, ka kāds man mēģināja postēt komentārus HTTP/1.0 protokolā, bet komentāri neparādās. Palasījos RFC un sapratu, ka lietoju nepareizu headeru.
Skat. labojumus augstāk.
Note: When automatically redirecting a POST request after eceiving a 301 status code, some existing HTTP/1.0 user agents will erroneously change it into a GET request.
303. būtu tas, kas vajadzīgs, taču
Note: Many pre-HTTP/1.1 user agents do not understand the 303 status. When interoperability with such clients is a concern, the 302 status code may be used instead, since most user agents react to a 302 response as described here for 303.
Tāpēc lietosim 302.
Jāizpilda uzreiz pēc komentāra pievienošanas datubāzei, bet pirms teksta izvades uz pārlūku.

Savukārt šis kods salabo pods.lv tipa kļūdu uz visiem ne-M$ browseriem, kas pilda standartus: pat it kā "ielādējot" lapu atkārtoti, tomēr ir jāspiež Refresh, lai dabūtu jaunos ierakstus un/vai komentārus.
header ("Expires: Mon, 26 Jul 2001 05:00:00 GMT"); // jebkurš datums pagātnē
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // tikko mainīts
header ("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header ("Cache-Control: pre-check=0, post-check=0",false);
header ("Pragma: no-cache"); // HTTP/1.0

Jāizpilda pats pirmais katrā lapā.

Komentāri


001. koko 2004-07-01 00:09:40
Tjipa tie headeri, kur refresham domaati jaaliek kaa php inkluuds? Tjip liekas, ka html`am taadas fjas kaa gmdate() nav - es vismaz taa domaa - vismaz taadu struktuuru ieksh html neesmu redzeejis, kaut arii esmu pagaidaam galiigs iesaaceejs webshitu radiishanaa!!!

002. koko 2004-07-01 00:11:35
offtoppic, bet taa ideja ar removed pie komentiem ir kruta :)) Tikai nez vai kaadu interesee pliks removed un laix - vareetu veel niku paarsviitrot un ip - ta gan buutu kuul - kaunc posteetaajam pa visu gljiimi :)

003. Kirils 2004-07-01 00:16:26
protams, ka tas ir php kods.

un niku raxtiit nevar. jo arii nikaa var sarakstiit drazu. un tad pazuud dzeeshanas jeega, ja draza (kas, shajaa gadiijumaa ir niks) tiek raadiita. pietiek ar ip.

004. Neonz 2004-07-01 17:08:51
nez, es peec komenta ieseivoshanas vienk lieku header("Location: komentulapa"); un nav bijis gljuki ne uz Operas, ne uz citiem paarluukiem.

005. Neonz 2004-07-01 17:10:34
btw, koments ieposteejas, bet:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /mnt/hd/www/kirils/sql.php on line 17

Warning: Cannot modify header information - headers already sent by (output started at /mnt/hd/www/kirils/sql.php:17) in /mnt/hd/www/kirils/fions.php on line 219

Warning: Cannot modify header information - headers already sent by (output started at /mnt/hd/www/kirils/sql.php:17) in /mnt/hd/www/kirils/fions.php on line 220

Warning: Cannot modify header information - headers already sent by (output started at /mnt/hd/www/kirils/sql.php:17) in /mnt/hd/www/kirils/fions.php on line 221

006. Kirils 2004-07-01 19:18:58
Sorry par bugu. Komenti salaboti.
Es vnk vakar (shoriit) agri pirms guleetieshanas gribeeju uztaisiit kaa laabaak, bet biju gana noguris, lai ne tikai nenotesteetu savu kodu, bet pat nepaarlasiitu vinju.
$ncmt=sget(myget("update raksti set comments=comments+1 where id='$read'"));
//myget ir mans alias mysql_query
//sget ir +/- mysql_fetch_array
to vinjsh darija peec tam, kad jau vienreiz bija izdarijis shaadu kverijiu. nu ja. tagad buus labi.
sorry un buchas visiem.

007. Kirils 2004-07-01 19:20:19
un ar parastu header("Location: xx") ir gljuki... :/
man hackers.lv neiet. un daaaaaaaudzi ir suudzeejushies.

008. ManInBlack 2004-07-08 08:59:06
tu komentu skaitu glabaa atsevishkjaa fiildaa? me ar taa dariija sakumaa - tjipa ar domu, ka aatraak kverijs izpildiisies. tad vienreiz kaut kas noglukoja, koments nepievienojaas, bet skaits palielinaajaas. vot un rezultaataa atskiiraas skaits no reaalaa skaita.. nu, i uztaisiiju, lai shis izkverijo no db, cik ta komenti attiecigajam raxtam ir. zin, patestejot tika secinaats, ka tas enivej notiek baisi aatri. kad taisiisim tvnetiigus projektus, mosh domaasim par aatrdarbiibu.

009. Kirils [ esmu te ] 2004-07-08 09:07:08
jaa, tas es daru, un tas uzlabo aatrdarbiibu. man pat counteris updeitojas apm 5 sekundes. (tas notiek ik peec 10min). lapas pirmajaas dienaas tas notika katru reizi ielaadeejot lapu, bet nonjemot counteri lapa ielaadeejaas par 3 sekundeem aatraak.
Tu nezini kaads man "serveris" ;)
taapeec es speizhu uz optimizaaciju, lai vismaz izliktos par normaalu cilveeku.

un nogljukot nekas nevar, ja nechkareejaas ar attieciigo sourcha vietu.
ir double ifs. ja feilo pielikshana, netiek palielinaac komentu skaits. ja failo skaita palielinaashana, koments tiek dzeests.

010. Removed: 80.58.205.39-070.087.136.002 2006-06-08 07:58:39

011. Removed: 220.72.196.72 2006-06-08 07:58:53

012. Removed: 220.72.183.226 2006-06-08 07:58:59

013. Removed: 219.194.104.223 2006-06-13 06:02:48

014. Removed: 220.71.219.52 2006-06-13 06:04:20

015. Removed: 210.101.138.154 2006-06-13 06:04:21

016. Removed: 220.73.49.162 2006-06-13 06:05:52

017. Removed: 222.83.228.34 2007-04-18 16:15:44

018. Removed: 72.21.48.162 2007-05-12 20:02:13

019. Removed: 81.177.22.104 2007-05-15 08:31:13

020. Removed: 202.171.253.71 2011-05-16 19:47:22

021. Removed: 89.248.165.143 2013-01-10 08:49:43

ŠEIT ATKRITUMUS IZMEST AIZLIEGTS
Apnicis katru reizi no jauna aizpildīt pirmos 3 laukus? Spied!



Netiks publicēts, kamēr netiks ieviesta antispama sistēma.

Ja raksti mājaslapas adresi, neaizmirsti http://.



Neaizmirsti, ka jebkāda offtopika vieta ir tur, nevis šeit!

Skaitītājs

Unikālie hosti
Šodien:143
Vakar:185
Ra:258

Cita draza

1. SIA
Smēķēšanas atmešana samazina risku saslimt ar neārstējamām sirds un plaušu slimībām