Jump to content
php.lv forumi

Aleksejs

Moderatori
  • Posts

    4,584
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Aleksejs

  1. http://lv.php.net/manual/en/language.basic...ax.comments.php
  2. http://www.boot.lv/forums/viewtopic.php?t=7881 :D :D
  3. Nu gentoo vispār jau arī kompilē no surcēm ;) a kas notiek ja laid: USE="xpm -X" emerge php... ?
  4. Bet nu tomēr pamēģini $vards vietā izmantot $_POST['vards']... un tā tālāk attiecībā uz katru nodoto mainīgo... Tas, ka nerāda vispār neko varētu nozimēt to, ka kodā kaut kur ir kļūda... Piemēram serverim varētu nebūta iespēja atpazīt <? ?> kā php skripta sākumu pamēģini lietot <?php ?>.
  5. Ieliec iekš paste.php.lv to skripta kodu.
  6. Ir nepamatotas aizdomas, ka problēma ir "register_globals" parametrā.
  7. Ja nav nodefinēta konstante username, tad pieņemu, ka username jābūt pēdiņās. Tas pats ar dbname. Pārbaudi, vai tiešām eksistē tabula ar nosaukumu tablename un vai šajā tabulā ir lauks id.
  8. Pastāsti par šo tēmu sīkāk! Diemžēl pašam ir minimāla pieredze ar šīm lietām. Zinu, ka klientam, kuru apkalpojam, webizstrādātāji ir šādi pusnokompilējuši portālu un tādēļ ir ļoti grūti veikt izmaiņas. Skaties bubu dotos materiālus, gan jau bus sakarīgi (-;
  9. Aha un nolokot arī admina kontu (-; Lokošanas pielietošana ir rūpīgi jāizsver, lai nebūtu pārāk viegli kādam no-DoS-ot sistēmu.
  10. Zend ļauj skriptu daļēji nokompilēt.
  11. Problēma ir tajā apstāklī, ka neesi norādījis ziņas id tajā vietā, kas ir head(...); - vienkārši verot vaļā failu Zinja.php netiek padots caur get mainīgais ID.
  12. Vēlarvien tā pati headeru problēma tev ir. Neredzu neko ar mysql_fetch_assoc(); saistītu.
  13. Es sapratu, ka hederis nu jau viņam normāli nosūtās. Tagad problēmas ar mysql_fetch_array...
  14. Mazticams, ka nesaprot. Kādu kļūdu tad viņš rāda?
  15. palasi šos meklēšanas rezultātus un izdari secinājumus (-;
  16. Vienīgā iznākusī grāmata ir "PHP soli pa solim". Ja gribās uzzināt kaut ko par programmēšanu kā tādu, tad latviešu valodā ir šādas adreses: http://www.boot.lv/forums/viewtopic.php?t=7159
  17. Un "normālā" valoda būtu kura? (-;
  18. Nu tā, uztaisīju savu pirmo skriptu XMLā, kas dabū valūtas kursus. Interesējošo valūtas kursu kodus jānorāda masīvā $valutas. Skripts strādā normāli un, šķiet, bez kļūdām, taču gribētos zināt, vai tā ir pareiza pieeja, kā to izdarīju. Varbūt kaut ko varēja izdarīt labāk/savādāk? http://paste.php.lv/1306 P.S. 77. rindiņā, protams "echo $rinda;" ir jāpārnes jaunā rindā (laikam kopējot pāri kaut kas sajuka).
  19. Nu, vai sanāca? Caur ODBC?
  20. Iesaku lēnā garā iet cauri šī foruma tēmām un pētīt to saturu - te jau šāds jautājums ir daudzas reizes uzdots. (-; P.S. Ļoti slikts tēmas nosaukums ("Nu paliidzat") - neatbilst forumos un ziņugrupās pieņemtajai etiķetei. P.P.S. Pēdējā laikā ļoti daudzas tēmas ar tikpat sliktiem nosaukumiem saveidotas - tā ir necieņa pret cilvēkiem, kas šo tēmu lasīs. Šiem cilvēkiem tādēļ samazinās gribēšana palīdzēt, bet palielinās gribēšana "meklēt kašķi" (-;
  21. Turpinot Gachas aizsākto par salasāmību un papildināšanu... Šonedēļ nopirku grāmatu "Анализ Программного Кода на Примере Проектов Open Source" - Дионидис Спинеллис (Jeb oriģinālā "Code reading The Open Source Perspective" - Diomidis Spinellis). Vēl īsti neesmu iegrimis lasīšanā, bet katrā gadījumā grāmatas anotācija un satura rādītājs mani pārliecināja ka ir vērts ieguldīt sūri grūti sakrāto naudiņu.
  22. Uz šo brīdi sha1 labāks par md5, jo md5 ir matemātiski pierādīts, ka eksistē metode kolīziju atrašanai, kas ir ātrāka par pilno pārlasi. http://www.cryptography.com/cnews/hash.html Čena un Bihema neitālā bita metode Tas, ka ir atrasta metode, kas ļauj veikt ātrāku pārlasi, nenozīmē, ka automātiski md5 ir kļuvis būtiski nedrošāks praktiskajos pielietojumos, jo kā jau agrāk gan es, gan Venom teica - galvenā problēma nav vis hash funkcijās vai autentificēšanās procedūrās, bet gan faktā, ka lietotāji izvēlas īsas, viegli uzminamas paroles. Bet, ja ir iespēja, tad vajadzētu izvēlēties sha1.
  23. Visu var atkost. Neviens nekad nevarēs aizsargāties pret "brute force" jeb pilno pārlasi. galvenā problēma ir nevis autentifikācijas mehānismu uzbūvē, bet gan tajā faktā, ka lietotāji izvēlas stulbas, viegli uzminamas paroles. Drošība ir atkarīga no izvirzītajām prasībām. Piemēram, šim forumam pilnīgi pietiek ar to, ka paroles tiek glabātas sahashotā veidā uz servera un nekādā citādākā veidā netiek aizsargātas pie pārsūtīšanas, turpretī, piemēram, bankas kontam vajag gan paroles aizsardzību uz servera, gan arī pārsūtīšanas laikā. Būtībā izšķir 3 veidu autentifikāciju: 1) Ko tu zini (paroles) 2) Kas tev ir (atslēga, bankas kodu karte, lapa ar OPIA vienreizējajām parolēm) 3) Kas tu esi (pirkstu nospiedumi, radzenes attēli, rokas ģeometrija) Visvienkāršāk ir ieviest pirmā veida autentifikāciju un vissarežģītāk trešā veida autentifikāciju (jo tā prasa gan ieguldījumus aparatūrā, gan to, lai visi iespējamie sistēmas lietotāji būtu iepriekš zināmi un kaut kādā drošā veidā būtu iesnieguši attiecīgos biometriskos parametrus). Visdrīzāk, ka arī otrā veida autentifikācija ir par sarežģītu, lai ieviestu web aplikācijai. (Ja tas nav domāts intraneta lietošanai). Tātad vairumā gadījumu paliek tikai pirmais variants. Iespējamie paroļu mehānisma realizēšanas varianti: 1) Klients nosūta paroli Serverim pa neaizsargātu kanālu. S glabā paroles datubāzē P un pārbauda paroles pareizību salīdzinot p ar P. Trūkumi: p var "nosnifot" (Protams, pie noteikuma, ka Uzbrucējs spēj pārtvert nepieciešamo K trafika daļu). Ja notiek ielaušanās S, tad iespējama situācija, kad U dabū visu P datubāzi. Priekšrocības: Nav nepieciešams izmantot jebkādas kriptogrāfiskās metodes autentifikācijas datu aizsardzībai ne K pusē, ne S pusē. Jau pēc šī pirmā paroļu realizācijas mehānisma apskatīšanas var redzēt, ka pamatā jāveic aizsardzības pasākumi vismaz divās vietās - p pārsūtīšanas posmā no K uz S; un P glabāšanā uz S. Patiesībā ir vēl trešais "ķēdes posms" - K sistēma. Jāizvērtē risks, ka uz K sistēmas ir tīši vai netīši uzinstalēts kāds "key logger" (tas būtu banālākais variants, bet jāpadomā arī par potenciālo iespēju nolasīt p, kad tā atrodas RAMā vai, ja tā tiek "noswapota" uz diska - protams, šāda veida programmu atrašanās uz datora vispārīgā gadījumā ir maz ticama, bet iespēja paliek iespēja...) vai līdzīgas dabas programmas. Piemēram iedomāsimies situāciju: "Jums steidzīgi vajag izdarīt pārskaitījumu bankā, bet vienīgā pieejamā vieta ir publiskā interneta kafejnīca". Kā var zināt, ka jūsu ierakstītā parole nenonāk pa taisno kādā "log" failā? Tomēr vispārīgā gadījumā, lielākoties, ir jārūpējas par kanāla K<->S drošību un datubāzes P drošību. Kanāla starp K un S aizsardzības veidi: a) Izmantot ssl/tls. Ja ir tāda iespēja, tad tā ir jāizmanto - šīs metodes ir praksē pārbaudītas un vispār atzītas par labām esam. Trūkumi: Gan S, gan K ir jāatbalsta ssl/tls protokols. Visi modernie web-serveri un pārlūki atbalsta šos standartus, tādēļ šis variants būtu jāizmanto ja vien nav kādi tiešām pamatoti iemesli, lai to nedarītu. Tālākās metodes jāizmanto tikai tad, ja kaut kādu iemeslu dēļ nav pieejama metode a). B) Izmantot "jaucējfunkciju" jeb hash funkciju h(x): K nosūta S h(p). S pārbauda, vai ar attiecīgo P kopas elementu p' sanāk tā, ka h(p')<==>h(p). Trūkumi: Gan uz K, gan uz S ir jāvar izrēķināt h(x). Ja uz S tā vēl nebūtu problēma, tad uz K varētu būt problemātiski izpildīt programmu, kas realizē šo funkciju (web gadījumā, visdrīzāk, ka tā ir javaScript funkcia, kuras izmantošana var nebūtiespējama atsevišķos gadījumos). Kaut gan U nevar vairs tik vienkārši uzzināt p, tomēr pilnībā pietiek ar h(p), lai sekmīgi autentificētos. c)"Challenge-response" mehānisms. Vispārīgā gadījumā: K pieprasa autentifikāciju S. S noģenerē gadījumskaitli R1 un aizsūta to K. K arī noģenerē gadījumskaitli R2, un aizsūta šādu pāri S: h(R1, p, R2), R1. Kur h(x) ir "vienvirziena jaucējfunkcija" jeb hash funkcija. S, savukārt pārbauda, vai ar attiecīgo P kopas elementu p' sanāk tā, ka h(R1, p' , R2) <==> h(R1, p, R2). Trūkumi: Tieši tas pats, kas B) gadījumā, tikai nu vairs U nevar izmantot pārtvertos datus, lai nākamreiz autentificētos, jo nākamreiz S uzģenerēs pavisam citu R1. P glabāšanas uz S drošības paaugstināšanas veidi: I) uz S glabāt tikai paroļu hash attēlus h(p). Trūkumi: Kaut gan U nevar vienkārši uzzināt p. Tomēr atkarībā no kanāla aizsardzības veida viņš var izmantot šo informāciju, lai veiksmīgi autentificētos. U var izmantot iepriekšizveidotu hash vērtību sarakstu, lai ātri uzzinātu izmantotās paroles. U var redzēt, kuriem lietotājiem paroles sakrīt. II) Tas pats, kas I), bet pie paroles tiek pielikta, tā sauktā, "salt" jeb "sāls" vērtība. Respektīvi, datubāzē tiek glabāts pāris: S, h(S, p). Sāls vērtībai būtu jābūt unikālai visas autentifikācijas sistēmas ietvaros, tas ir, nevajadzētu būt tā, ka diviem vienādiem lietotājiem ir vienāda sāls vērtība. Trūkumi: Tas pats, kas I), bet tiek minimizēta iespēja izmantot iepriekšizveidotu hash vērtību sarakstu, kā arī lietotājiem, kuri ir izvēlējušies vienādas paroles datubāzes ieraksti atšķirsies. III) Tas pats, kas II), bet tabulā tiek glabāts paroles attēls pēc vairākkārtējas hash funkcijas pielietojuma: S, h(h(...h(S,p)...)). No K pienāk p attēls, kuram h(x) pielietota par vienu reizi mazāk, nekā tabulā P esošajām vērtībām. Pārbaude notiek šādi: S saņemtajai vērtībai vēlreiz pielieto h(x) un pārbauda, vai tā sakrīt ar P esošo vērtību. Priekšrocības: Ja U dabū bāzi P, tad viņam ir ļoti sarežģīti kaut kādā veidā izmantot šo informāciju. Tālāk, atkarībā no prasībām un riska novērtējuma, tiek izvēlēta viena no metodēm kanāla aizsardzībai un viena no metodēm P aizsardzībai un veidota autentifikācijas sistēma, kura izmantotu attiecīgās metodes. Literatūra: http://www.schneier.com/paper-low-entropy.pdf http://www.ciphersbyritter.com/GLOSSARY.HTM http://www.cacr.math.uwaterloo.ca/hac/ Lūdzu izteikt kādus komentārus! P.S. kaut kā ļoti gari sanāca, bet cerams, ka kaut ko saprast arī var (-;
  24. Noģenerē to uzreiz piemēram pdf formātā.
  25. Kas ir ESME? Ethereal es pārzinu tīri labi, taču nespēju to īsti sasaistīt ar SMS pakalpojumiem. }-:
×
×
  • Create New...