Venom Posted April 6, 2005 Report Share Posted April 6, 2005 bzz, tu man pasaki - Ja <?php exit; ?> pirmaja rindaa ir, kods vispar neizpildāskurš kods? tas kas fgets taisa? uztaisi playerlog() vidū print $file; print $username; of coss $_GET['username'] jābūt nodefinētam iepriekš arī preg_match izmantot lai nogalinatu lapu, nekā - šito vispār nesaprotu Link to comment Share on other sites More sharing options...
Lynx Posted April 6, 2005 Author Report Share Posted April 6, 2005 bzz, tu man pasaki - kurš kods? tas kas fgets taisa? Jā tikai šis koda fragments neizpildās. Tas imho nozīmē ka tiko kā atveram failu izpildās exit; pirms vel tiek paspēts noskipot 1o līniju. uztaisi playerlog() vidū print $file; print $username; Ja es sapratu ko tu domā: Ievadē tiek izvadīts: ./log_files/Lynx.php Lynx Izvadē, pirms echo '<br />'.$line; Ja uztaisu print $_GET['username']; Izvadās Lynx, tas nozīmē ka neizpildās tikai lasīšanas daļa. $_GET['username'] ir nodefinēts. Par preg_match taisiju šādu variantu: <?PHP if(preg_match("/Lynx.php/i", $_SERVER['PHP_SELF'])) die(); ?> No interneta nolasīt nevar, caur admin paneli arī nezkapēc nevar. Link to comment Share on other sites More sharing options...
bubu Posted April 6, 2005 Report Share Posted April 6, 2005 Es vairs sāku nesaprast, ko Lynx cenšās panākt... Link to comment Share on other sites More sharing options...
Kavacky Posted April 6, 2005 Report Share Posted April 6, 2005 A es nesaprotu, kur ir problēma pielikt faila galā tādu rindiņu kā šī: " 2005-04-06 16:17:08 Action: Move From: 414 To: 415". Vai vienalga kur citur pielikt. Link to comment Share on other sites More sharing options...
Lynx Posted April 6, 2005 Author Report Share Posted April 6, 2005 Hmm es nesaprotu, par ko tu nesaproti, kapēc man būtu kautkur japievieno šāda rindiņa kuru tu minēji? Datu ievadē viss darbojas. Bet nav iespējams datus izvadīt caur admin paneli. Dati tiek glabāti php failos, jo serveris ir IIS 4.0 un nepieļauj .htaccess, lai nobloķētu pieeju piemēram txt failiem. Un struktūra kā izskatās ieraksti ir šāda: <?PHP die(); ?> 2005-04-06 16:17:08 Action: Move From: 414 To: 415 2005-04-06 16:17:10 Action: Move From: 415 To: 515 Problēma ir tāda ka izvadot datus vajag noskipot 1o rindiņu, lai netiktu izpildīts die() un tādējādi nepieļautu datu nolasīšanu. Link to comment Share on other sites More sharing options...
Roze Posted April 6, 2005 Report Share Posted April 6, 2005 Problēma ir tāda ka izvadot datus vajag noskipot 1o rindiņu, lai netiktu izpildīts die() un tādējādi nepieļautu datu nolasīšanu. Nu jopcik vai tad failu var nolasīt tikai ar include()?! No cita faila php kods var izpildīties tikai 3 gadījumos: include, require vai nolasīts un tad padots eval(). echo file_get_contents('tavsfails.php') un nekas nenomirs ja nepatiik pirmaa rinda pie izvadiem tad echo implode('',array_shift(file('tavsfails.php'))); Ja logfaili sanaak milzoniigi > 1Mb, tad jālas ar fread vai fgets pa chunkiem kā jau iepriekš Venom dod piemēru ar fgets (noskipojam pirmo rindu un tad lasam līdz beigām un metam uz outputu). No otras puses varbūt vienkāršāk ir palūgt webstervera adminam lai sakonfigo ka publiski log faili nav pieejami bet teiksim rakstās direktorijā ar autorizāciju. šādi diezgan muļķigi "hacki" sanāk :) Link to comment Share on other sites More sharing options...
Lynx Posted April 6, 2005 Author Report Share Posted April 6, 2005 Nu jopcik vai tad failu var nolasīt tikai ar include()?! Include šajā gadijumā vispār netika izmantots. Visu laiku meiģināju Venom skriptu dabūt pie pareizas izpildes. Vispār atrisinājums bija gaužām vienkārš un pašam kauns par savu stulbumu :) Attiecigi es norādiju full path(http://) uz log faila atrašanās vietu, jo logi glabājās pāris soļus atpakaļ folderī. Njaa šitads čakars nelielas :D neprecizitātes dēļ. Link to comment Share on other sites More sharing options...
Recommended Posts