Jump to content
php.lv forumi

Lapas adrese


Kips

Recommended Posts

Jautaajums taads - kaa izvaiiriities no taa, ka ljaunie hakeri pa lapas adresi nodod jaunu parametru liidz ar to izveidojas [teoreetiski] jauns raksts, protams tas tabulaa neierakstaas.. Bet komenti ko pievieno sim rakstam ieksh DB ierakstaas.. Varbuut kaadam zinaams risinaajums ko dariit? :o :huh:

Link to comment
Share on other sites

Ļaut komentārus ievadīt tikai autorizētiem lietotājiem ;)

Ja problēma ir tikai tajā apstāklī, lai nevarētu nodot caur adresi (respektīvi caur GET) komentārus, tad izveido, lai pretī ņem tikai POST mainīgos. Ievēro, ka ļaunie hakeri var arī uztaisīt skriptu, kas padod caur POST ;)

Edited by Aleksejs
Link to comment
Share on other sites

Droshiibas pasaakumi, ko dereetu ieveerot:

1) Autorizeeta pieeja administraacijas modulim

2) autorizaacijas modulis saucas nevis www.lapa.lv/admin, bet kaut kas tamliidziigs www.lapa.lv/grzhath56/korgoz.php

3) Ja nu ir riktiigaa paranoja, tad GET mainiigos var nodot kripteetaa veidaa, tjipa nokripteejam virkniigi 1:16:45, kur ar ":" ir atdaliiti get mainiigie, kuru poziicijas un atshifreejumi ir zinaami tikai skriptam par kaut ko taadu zq23edFzr, un tad arii padodam to kaa vieniigo GET parametru.

3.1) Ja veel lielaaka paranoja, tad var sagjenereet garu atsleegu un katru reizi kripteet ar savu ofsetu no taas... kaut kur sev vien zinaamaa poziicijaa, protams pats ofsets arii ir jaaglabaa.

Link to comment
Share on other sites

Aaa, tagad veelreiz paarlasiiju jautaajumu :) Saakumaa drusku nesapratu. Bet mana ieprieksheejaa posta 3. punkts uz to attiecas gan.

Taatad Tev ir tabulas:

1) raksti(rid,text....)

2) komentaari(kid,rid,text...)

Labaa Tev ir links:

www.lapa.lv/rid=76

Tad nu lai kaads neuzraxtiitu rid=999 un tur "satuseetu" savus "slepenos" komentus attieciigi pirms raxta printeeshanas ieksh lapas un pirms komentaara pievienoshanas paarbaudi, cik db ieraxtus Tev agrieza Tavs:

"select * from raksti where rid=".$rid;

ar mysql_numrows

nu un, ja atgrieztas 0 rindas, tad attieciigi izmet "raxts neexistee vai ko veel citu var sadzejot" un commentu ieksh DB daadam raxtam pievienot nevajag.

-------

Bet kaa jau teicu iipashas paranojas gadiiijumaa mana ieprieksheejaa posta 3. punkts ljoti apgruutinaas browseeshanu nahaljavu peec rid...

Link to comment
Share on other sites

referreru arii der paarbaudiit, vai tas atbilst tikai atljautajaam veertiibaam

Tev, kā specifikāciju lasītājam jau derēja zināt, ka REFERER ir viens no viegli viltojamajiem ;)

Edited by Kaklz
Link to comment
Share on other sites

Man patika des doma, tikai kaut kas iisti nesanaaca ;(

Tjip man ir taada shtelle - rakstu tabulaa ir lauki post_id, post_autor u.tt. Komentu tabulaa lauki - id, raksta_id. Komenti pievienojas tur, kur post_id = raksta id un palielinaas komentu lauks id.. Tjip kadu kverija nosaciijumu vajadzeetu, lai izpildiitos kkas liidziigs taadai lietai, ka ja post_id > peedejo id tabulaa, tad redirekts uz kkurieni.. ? Sorry ka tik leimi ;)

Link to comment
Share on other sites

Un kas notiks, ja cilvēks A atver lapu 14:00, cilvēks B atver lapu 14:01, cilvēks B nosūta komentāru 14:02, cilvēks A mēģina nosūtīt komentāru 14:03 un aplaužās :)

 

Vēlviens variants. Izmanto sesijas - katram apmeklētājam atverot komentāru lapu tiek noģenerēts unikāls komentēšanas ID, kuru piereģistrē kā sesijas mainīgo un kurš ir jānosūta kopā ar komentāru.

Komentārs tiek pieņemts tikai tad, ja ir atsūtīts derīgs komentēšanas ID. Ja komentārs tiek pieņemts, tiek ģenerēts jauns komentēšanas ID, ar izrietošajām sekām.

Edited by Aleksejs
Link to comment
Share on other sites

Tad nu lai kaads neuzraxtiitu rid=999 un tur "satuseetu" savus "slepenos" komentus attieciigi pirms raxta printeeshanas ieksh lapas un pirms komentaara pievienoshanas paarbaudi, cik db ieraxtus Tev agrieza Tavs:

"select * from raksti where rid=".$rid;

ar mysql_numrows

nu un, ja atgrieztas 0 rindas, tad attieciigi izmet "raxts neexistee vai ko veel citu var sadzejot" un commentu ieksh DB daadam raxtam pievienot nevajag.

-------

Bet kaa jau teicu iipashas paranojas gadiiijumaa mana ieprieksheejaa posta 3. punkts ljoti apgruutinaas browseeshanu nahaljavu peec rid...

Manupraat paarbaudiit ko lietotaajs atveeris (ar kaadiem parametriem un vai tie eksistee datubaaze) nav nevis ekstra bet gan standarta buushana bez kuras taalaak neko nav veerts nemaz raadiit..

Proti skatamies vai attieciigais id eksitee db ja ir tad veram ja ne tad skaidrs ka ar paredzeetiem liidzekljiem (linkiem pashaa lapaa) lietotaajs sho lapu atveeris nav redirekteejam uz saakumlapu vai paraadam smuku pazijojumu un miers..

 

Neredzu jeegu sesijaam / bilzhu gjenereeshanai (kas noteikti atsijaas kaudzi komentaataaju kuriem vienkaarshi buus slinkums peetiit simbolu virkni bildee) un sazin veel kam (vismaz ne shii jautaajuma ietvaros)

Link to comment
Share on other sites

Paldies par paliidziibu ;) Tomeer atradu risinaajumu pats ;))

$rez = mysql_query('select * from nice');
$skaits = mysql_num_rows($rez);
if ($skaits < $id){ echo 'Raksts datu bāzē neeksistē!!!'; die;}

prieks :))

Link to comment
Share on other sites

nu shitais tev nav diez cik universaals, jo ja tu rakstus ievietosi un dzeesiisi, tad var gadiities ka id numurs pēc kāda laika atšķrisies no ierakstu kopskaita... un attieciigi sekas..

tad jau labaak uztaisi select * from raksts where id=$_GET['id'] un ja atgrieztais rindinju skaits ir lielaaks par 1, tad raadi ievades formu, citaadaak neraadi.

 

ja gribi lai nevar ieposteet arii no citurienes, tad izpildi sho pashu vaicaajumu pirm datu ievades, t.i., paarliecinies, ka raksts ir un ja ir tad insert komentaaru tabulaa...

Link to comment
Share on other sites

Vari uztaisīt kaut ko līdzīgu LMT īsziņu autorizācijas kodam ar bildītēm (ja nebaidies palikt bez komentētājiem  ) - tam vajadzētu apgrūtināt automatizētas postošanas iespēju...

 

Njus, arii tas ir apejams. Eksistee algoritmi, kuri maak nolasiit autorizaacijas kodu arii uz raiba fona & katru reizi savaadaaka fonta. Protams, taa ir shaushana ar lielgabalu pa mushu, bet, ja kaads gribees floodot, tad taa vai taa pafloodos :)

Link to comment
Share on other sites

×
×
  • Create New...