keiG Posted May 12, 2011 Report Share Posted May 12, 2011 Īsti nezinu, kura būtu atbilstošākā foruma sadaļa. Tad nu tā indexā ir $("#list" + id).load("load.php?id="+ id) un kā lai aizsargā load.php, lai viņu nevarētu atvērt manuāli ierakstot adreses logā? Quote Link to comment Share on other sites More sharing options...
0 briedis Posted May 12, 2011 Report Share Posted May 12, 2011 Tas nav īsti iespējams. Vari mēģināt apgrūtināt šo procesu ar kādu tokenu. var token = '<?=generateToken();?>'; $("#list" + id).load("load.php?id="+ id + "&token=" + token) Teiksim, šis tokens tiek ielikts sesijā un uzreiz kā tiek izsaukts tas ajax iekš load.php dzēšam šo tokenu no sesijas. Ja lietotājs mēģina piekļut load.php pa tiešo, skatamies, vai ir padots iepriekš uzstādīts tokens. Ja nav - sūtam nafig. Ja kāds labi gribēs, tāpat apies šo... Quote Link to comment Share on other sites More sharing options...
0 Kemito Posted May 12, 2011 Report Share Posted May 12, 2011 Palaid vienreiz, uzzini simbolu skaitu tokenim un uzžmiedz manuāli arī to :/// Bet jā, teiksim iedod sessiju, kur žetons ir teiksim md5 vai kas tāds no sessijas, un izčeko abus piemēram, gan tokenu, gan salīzini vai tokens ir vienāds ar sessiju no md5 vai ko tu tur dari. Cerams skaidri +/- izteicos, jeb briedis varbūt tā bija domājis. /Vakars ir/ Quote Link to comment Share on other sites More sharing options...
0 sandis_m Posted May 12, 2011 Report Share Posted May 12, 2011 Tajā load.php var veikt pārbaudi vai ir veikts ajax pieprasījums. Quote Link to comment Share on other sites More sharing options...
0 codez Posted May 12, 2011 Report Share Posted May 12, 2011 Vai nu pārbaudi servera pusē header-us - pēc tiem varēja atšķirt ajax request-u. Vai arī taisi ajax requestu ar post mainīgo. šādā gadījumā ierakstot url-u, nevarēs nosūtīt post mainīgo. Quote Link to comment Share on other sites More sharing options...
0 briedis Posted May 12, 2011 Report Share Posted May 12, 2011 O, sand2s domā loģiski :D ..bet nu tas arī neatrisina pilnībā šo problēmu, jo headerus var padot kādus vien cilvēks vēlas, izmantojot kaut vai to pašu cURL... Funkcija, kas pārbauda vai ir ajax izsaukums: function isAjax(){ return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'; } Quote Link to comment Share on other sites More sharing options...
0 Kemito Posted May 12, 2011 Report Share Posted May 12, 2011 (edited) Jocīgi vai nē, bet man šķiet, ka šādi var kaut kas sanāk. Iedod sessijā randu, uzģenerē to md5 un dod iekšā get`am kā token. faila pusē pārbauda vai sessija md5() funkcijā ir vienāda ar get`otu tokenu? Edited May 12, 2011 by Kemito Quote Link to comment Share on other sites More sharing options...
0 briedis Posted May 12, 2011 Report Share Posted May 12, 2011 Iedod sessijā randu, uzģenerē to md5 un dod iekšā get`am kā token. faila pusē pārbauda vai sessija md5() funkcijā ir vienāda ar get`otu tokenu. Es izslēdzu JS, paskatos source un paņemu to uzģenerēto tokenu un bliežu pa taisno urlī :) Quote Link to comment Share on other sites More sharing options...
0 keiG Posted May 13, 2011 Author Report Share Posted May 13, 2011 Šim pasākumam būs daudz lietotāju un padodot mainīgo load.php?id=1 cilvēki varēs apiet maksas informāciju. Laikam būs vien bez js jātaisa. Gribējās maksimāli samazināt mysql noslogojumu, lai klientam ielādējās tikai tas ko viņš noklikšķina. Varbūt ir kādas citas idejas kā to var maksimāli droši izveidot? Quote Link to comment Share on other sites More sharing options...
0 codez Posted May 13, 2011 Report Share Posted May 13, 2011 Nu kamoon? Ja jau lietotājs maksā, tad lietotājam ir kaut kāds konts ar kuru viņš autorizējas. Pārbaudi load.php failā vai attiecīgais lietotājs ir samaksājis un tikai tad dod informāciju. Aizsardzība pret apiešanu tieši tāda pati, ja tas arī nebūtu ajax peiprasījums. Quote Link to comment Share on other sites More sharing options...
0 Kemito Posted May 13, 2011 Report Share Posted May 13, 2011 Briedis - Tad tu saki, ka vari paņemt servera puses mainīgā vērtību, kas ir randoms, tikai izslēdzot JS ? ja tā, tad mazliet abi mēs kaut ko ne tā viens no otra sapratām vai kā savādāk - es švaki/jocīgi izskaidroju. btw tad tik tiešām, ja lietotājs maksā par to, tad problēmām vispār nevaidzētu būt. Quote Link to comment Share on other sites More sharing options...
0 briedis Posted May 13, 2011 Report Share Posted May 13, 2011 Briedis - Tad tu saki, ka vari paņemt servera puses mainīgā vērtību, kas ir randoms, tikai izslēdzot JS ? ja tā, tad mazliet abi mēs kaut ko ne tā viens no otra sapratām vai kā savādāk - es švaki/jocīgi izskaidroju. Bet kā tu domā padot javascriptam to random vērtību? Viss, kas nonāk līdz pārlūkam ir pārtverams... Quote Link to comment Share on other sites More sharing options...
0 mad182 Posted May 13, 2011 Report Share Posted May 13, 2011 To, vai lietotājam ir tiesība skatīties konkrēto saturu ir jāpārbauda servera pusē, un ja viņam ir tiesības to skatīties, tad ir gluži vienalga, kā viņš to adresi izsauc. Quote Link to comment Share on other sites More sharing options...
0 Kemito Posted May 13, 2011 Report Share Posted May 13, 2011 briedis - dod jau hašu, nevis randu. No randa uztaisa hašu, sessijā saglabā randu, otrā pusē pārbauda vai get hash ir vienāds ar sessijas randa hashu. Netiek dota vērtība, lai pats ģenerētu, bet ģenerē jau sākuma pusē, tad iedod linkā, sessija ir rands un otrā pusē atliek salīdzināt tikai. Quote Link to comment Share on other sites More sharing options...
0 anonīms Posted May 14, 2011 Report Share Posted May 14, 2011 (edited) Nafig visu ir tā jāsarežģī? php failam pārbaudam REQUEST_URI, ja lien pa tiešo, tad neļaujam un miers. Edited May 14, 2011 by anonīms Quote Link to comment Share on other sites More sharing options...
0 keiG Posted May 28, 2011 Author Report Share Posted May 28, 2011 Nafig visu ir tā jāsarežģī? php failam pārbaudam REQUEST_URI, ja lien pa tiešo, tad neļaujam un miers. Abi REQUEST_URI ir vienādi, jo viņu izsauc ar jquery load, kas akseso url no klienta puses pa taisno. Quote Link to comment Share on other sites More sharing options...
Question
keiG
Īsti nezinu, kura būtu atbilstošākā foruma sadaļa.
Tad nu tā indexā ir
$("#list" + id).load("load.php?id="+ id)
un kā lai aizsargā load.php, lai viņu nevarētu atvērt manuāli ierakstot adreses logā?
Link to comment
Share on other sites
15 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.