Pereiti prie turinio

Silke

Patvirtinti nariai
  • Pranešimai

    6.462
  • Užsiregistravo

  • Lankėsi

  • Laimėta dienų

    11
  • Atsiliepimai

    100%

Reputacijos išklotinė

  1. Patinka
    Silke gavo reakciją nuo extremist Jūsų programavimo įkainiai   
    Sveiki,
     
    Na, kalbant su vienu klientu, kilo mintis paklausti kitų - kokie jūsų programavimo įkainiai, t.y., už kiek parsiduodate? :D Ar taikote valandinį tarifą, o gal sutariate konkrečią sumą už projektą ar tam tikrą jo dalį? Ir aišku, būtų gerai, kad prie to pasakytumėt ir savo darbo patirtį/išsilavinimą (aukštasis išsilavinimas, savamokslis, etc.) :)
     
    Nes yra tekę paskaityti ir apie tokius, kurie už 5Lt dizainą sukoduoja... :lol: Na, žodžiu, tikiuosi, kad ir jums bus įdomu ir laukiu jūsų atsakymų :)
  2. Patinka
    Silke gavo reakciją nuo Klicko IE blogai atvaizduoja url   
    Viskas gerai su tuo – tokie yra URL escapes toms raidėms ir tas URL reikš visiškai tą patį.
  3. Patinka
    Silke gavo reakciją nuo facis1 Seimas uždraudė energetinius gėrimus nepilnamečiams!   
    O tai čia ne šeimos problema, jei vaikas negerbia tėvų uždirbtų pinigų, tėvų mokymo ir nejaučia poreikio pasimaitinti? Jei išleistų žaislinei mašinytei, tai gal žaislus reiktų uždrausti?
     
    Priklausomybė? Apsiverkit. Būna ir nuo paprasčiausio vandens priklausomų – vienas toks kadaise ir uždarby pasakojosi, bijau tik suklysti, kas. Google power! Aš juodą arbatą litrais geriu. Prašau uždrausti vaikams pirkti arbatžoles.
     
    Sprendimas priimtas remiantis neteisingai suprastomis tyrimo išvadomis.
  4. Patinka
    Silke gavo reakciją nuo facis1 Seimas uždraudė energetinius gėrimus nepilnamečiams!   
    O tai čia ne šeimos problema, jei vaikas negerbia tėvų uždirbtų pinigų, tėvų mokymo ir nejaučia poreikio pasimaitinti? Jei išleistų žaislinei mašinytei, tai gal žaislus reiktų uždrausti?
     
    Priklausomybė? Apsiverkit. Būna ir nuo paprasčiausio vandens priklausomų – vienas toks kadaise ir uždarby pasakojosi, bijau tik suklysti, kas. Google power! Aš juodą arbatą litrais geriu. Prašau uždrausti vaikams pirkti arbatžoles.
     
    Sprendimas priimtas remiantis neteisingai suprastomis tyrimo išvadomis.
  5. Patinka
    Silke gavo reakciją nuo FaitasS Prgramavimas mokykloje   
    Na na, jei būtų vienodos, tai ir nereikėtų visų šimtų ar tūkstančių jų... Kad dauguma mainstreaminių yra panašios – sutinku... Tačiau jei palygint su tavo minėtomis paimsim dar kokią grynai funkcinę, tai jau skirtumai bus žymiai ryškesni :)
  6. Patinka
    Silke gavo reakciją nuo Laurynas Prgramavimas mokykloje   
    Pradėk nuo Python. Juokingi man tokie pareiškimai, kad būtinai mokykis pascal, nes tai neatgyvenusi kalba ir panašiai.
  7. Patinka
    Silke gavo reakciją nuo FaitasS Prgramavimas mokykloje   
    Na na, jei būtų vienodos, tai ir nereikėtų visų šimtų ar tūkstančių jų... Kad dauguma mainstreaminių yra panašios – sutinku... Tačiau jei palygint su tavo minėtomis paimsim dar kokią grynai funkcinę, tai jau skirtumai bus žymiai ryškesni :)
  8. Patinka
    Silke gavo reakciją nuo FaitasS Reikia nedideles pagalbos su c++   
    Šiaip jau čia nereikia daryti atskirų kintamųjų, o viską skaityti į vieną k. O jei n bus ne 5 o 10, keisi programą? :)
  9. Patinka
    Silke gavo reakciją nuo musicposter Kokia programa tai sukurta?   
    Beveik bet kokia kalba, bet jei nemoki programavimo, tai nemanyk, kad paimsi ir padarysi būtent šitam kartui iškart. C# gal kokia patarčiau, kaip Windowsams :)
  10. Patinka
    Silke sureagavo į alter PHP 5.5   
    PHP darbo grupė prabalsavo dėl ext/mysql (visos mysql_* funkcijos) ir nusprendė kad jau laikas pradėti iškeldinimo darbus :)
     
    Jungiantis prie MySQL su mysql_connect() bus generuojama E_DEPRECATED klaida - "The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead".
  11. Patinka
    Silke sureagavo į alter PHP 5.5   
    Tarkim turi prisijungimo tokius duomenis:

    $dbhost = 'localhost'; $dbname = 'app'; $dbuser = 'user'; $dbpass = 'pass';
     
    Prisijungimas:

    // Naudojant senas mysql_ funkcijas mysql_connect($dbhost, $dbuser, $dbpass); mysql_select_db($dbname); // Naudojant mysql_connect() ir mysql_select_db(), neprisijungus // prie duomenų bazės programos kodas nestabdomas, tiesig gaunamas // "Warning" tipo pranešimas (pagal nutylėjimą) ir programa toliau // vykdoma. Todėl dažnai naudojama instrukcija "or die()", kad sustabdyti // vykdymą neprisijungus prie duomenų bazės. mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error()); mysql_select_db($dbname) or die(mysql_error()); // Naudojant PDO $db = new PDO("mysql:host={$dbhost};dbname={$dbname}", $dbuser, $dbpass); // Nesėkmingo prisijungimo atveju PDO nutrauks programos vykdymą ir // iššauks "exception". Mes galim "pagauti" šia klaidą ir nuspresti ką // daryti neprisijungus prie duomenų bazės: try { $db = new PDO("mysql:host={$dbhost};dbname={$dbname}", $dbuser, $dbpass); } catch (PDOException $e) { // Čia galim išsisiųsti sau emailą, įrašyti į logą ir t.t. // Informaciją apie klaidą galima gauti per $e->getMessage() echo "Nepavyko prisijungti prie duomenu bazes"; exit; }
     
    SELECT:

    // Tarkim norim gauti visus userius iš lentelės. Senomis funkcijomis // tai atrodytu maždaug taip: $users = array(); $query = mysql_query("SELECT * FROM users"); while($row = mysql_fetch_assoc($query)) { $users[] = $row; } // Su PDO norit gauti atitinkamą rezultatą: $stmt = $db->query("SELECT * FROM users"); $users = $stmt->fetchAll(PDO::FETCH_ASSOC); // Jei pačio rezultato nereikia o tik norim patikrinti kiek eilučių gražinta $num_rows = mysql_num_rows($result); // mysql_ $num_rows = $stmt->rowCount(); // PDO
     
    Vienas didžiausių PDO privalumų yra "prepared statements" (mysql_ nepalaiko). Tai saugiausias būdas bendrauti su duomenų baze:

    // Pasakom duomenų bazei kokią SQL komandą norėsim vykdyti $stmt = $db->prepare('SELECT * FROM users WHERE id = :id'); // Pasakom parametrų reikšmes. Parametrai keliauja atskirai nuo pačios // SQL komandos, todėl neįmanoma SQL injekcijos ataka $stmt->bindParam(':id', $_GET['id'], PDO::PARAM_INT); // PDO patikrina :id parametra // Vykdom SQL komandą $stmt->execute(); // Pasiimam rezultatą $user = $stmt->fetch(PDO::FETCH_ASSOC);
     
     
    INSERT pavyzdys, UPDATE iš esmės veikia taip pat

    // Parametrai siunčiami iš formos, maudojam mysql_real_escape_string() kad apsisaugoti nuo SQL injekcijos $name = mysql_real_escape_string($_POST['name']); $email = mysql_real_escape_string($_POST['email']); // "Sulipdom" SQL komandą ir siunčiam į duomenų bazę $result = mysql_query("INSERT INTO users SET name = '{$name}', email = '{$email}'"); // Gaunam kątik įrašytos eilutės ID $user_id = mysql_insert_id(); // Analogiškas PDO pavyzdys, kabučių SQL komandoj nereikia $stmt = $db->prepare('INSERT INTO users SET name = :name, email = :email'); // Parametrų reikšmės nustatomos atskirai $stmt->bindParam(':name', $_POST['name'], PDO::PARAM_STR); $stmt->bindParam(':email', $_POST['email'], PDO::PARAM_STR); // Vykdoma užklausa $stmt->execute(); // Gaunam eilutės ID $user_id = $db->lastInsertId();
  12. Patinka
    Silke gavo reakciją nuo alter PHP autorizacija   
    NE.
    NE.
    NE.
     
    Abi šios funkcijos yra greitos ir daugiau ar mažiau turi atrastų collisionų. (MD5, aišku, daug seniau sulaužyta...). Tai, kad pakombinuosi jas abi, vis tiek neduos nieko gero. Pasiėmus tavo duomenų bazę, su geru žodynu ar rainbow tables prasieiti per tokį paprastutį sha1(md5()) dalykėlį – sekundžių, blogiausiu atveju – poros minučių reikalas. Turint omeny, kad ne kiekvienas turi proto naudoti stiprų slaptažodį, kokią pusę jų išcrackintum būtent per tiek.
     
    Naudok bcrypt, scrypt ar PBKDF2. Su unikaliais saltais, žinoma. Šios funkcijos specialiai yra sukurtos lėtos ir jas galima dar lėtinti padidinant ciklų skaičių. Įsilaužėlis užtruks daug ilgiau vien išcrackinti vieną slaptažodį, dar pridėkim unikalius saltus ir tai bus beveik neįmanoma, neturint valstybinių superkompiuterių ar begalės lėšų cloudams... :)
     
    http://www.phptherightway.com/#password_hashing_with_bcrypt
     
    Dėde, visiškas feispalmovičius. Kaip gali nerūpėti vartotojų saugumas? Na ir kas, jei tavo tinklalapis kažkoks nereikšmingas šūdukas, kas nors vis tiek pasidarys tokį pat slaptažodį, kaip ir jo emailas, facebookas, ar ir tas pats banko/paypal accountas...
     
    MD5 yra TIEK sulūžus funkcija, kad suabejočiau net ar naudoti failų checksumams. O čia slaptažodžiams... Vienintelė tinkama reakcija.
  13. Patinka
    Silke sureagavo į Arvis PHP saugumas   
    http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers čia yra puikios pamokos
  14. Patinka
    Silke gavo reakciją nuo robertasb PHP saugumas   
    Viskas yra čia. http://www.phptherightway.com/
     
    Duomenų bazei MySQLi ar PDO, XSS – htmlspecialchars turbūt tiktų.
     
    O šiaip neįsivaizduok „apsaugų“ kaip kažkokio atskiro dalyko. Turi pats domėtis ne tik „kaip apsaugoti“, bet ir dėl ko taip yra, kad suprastum kaip neatsiejamą dalį :) Turbūt geriausias šaltinis tam – OWASP Top 10 https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project . Apsisaugok nuo Top 10 ir jau bus neblogai :)
     
     
    Nereikėtų tokio filtro naudoti viskam. Jei visgi naudojamas mysql escapinimas o ne normalūs parametrų bindinimai, tai turėtų būti atliekama insertinimo/filtravimo metu, o štai htmlspecialchars – atvaizdavimo metu (strip_tags – kita tema, tą galima ir insertinant, jei to tikrai tikrai reikia).
  15. Patinka
    Silke sureagavo į dragelis PHP saugumas   
    Apsauga nuo SQL "injekcijų":
    http://php.net/manua...-statements.php
    http://php.net/manua...-statements.php
     
    Apsauga nuo XSS tipo atakų:
    http://php.net/manua...tmlentities.php
    http://php.net/manua...pecialchars.php
     
    ... arba jei nori praleisti saugų HTML kodą:
    http://htmlpurifier.org/
  16. Patinka
    Silke gavo reakciją nuo alter PHP autorizacija   
    NE.
    NE.
    NE.
     
    Abi šios funkcijos yra greitos ir daugiau ar mažiau turi atrastų collisionų. (MD5, aišku, daug seniau sulaužyta...). Tai, kad pakombinuosi jas abi, vis tiek neduos nieko gero. Pasiėmus tavo duomenų bazę, su geru žodynu ar rainbow tables prasieiti per tokį paprastutį sha1(md5()) dalykėlį – sekundžių, blogiausiu atveju – poros minučių reikalas. Turint omeny, kad ne kiekvienas turi proto naudoti stiprų slaptažodį, kokią pusę jų išcrackintum būtent per tiek.
     
    Naudok bcrypt, scrypt ar PBKDF2. Su unikaliais saltais, žinoma. Šios funkcijos specialiai yra sukurtos lėtos ir jas galima dar lėtinti padidinant ciklų skaičių. Įsilaužėlis užtruks daug ilgiau vien išcrackinti vieną slaptažodį, dar pridėkim unikalius saltus ir tai bus beveik neįmanoma, neturint valstybinių superkompiuterių ar begalės lėšų cloudams... :)
     
    http://www.phptherightway.com/#password_hashing_with_bcrypt
     
    Dėde, visiškas feispalmovičius. Kaip gali nerūpėti vartotojų saugumas? Na ir kas, jei tavo tinklalapis kažkoks nereikšmingas šūdukas, kas nors vis tiek pasidarys tokį pat slaptažodį, kaip ir jo emailas, facebookas, ar ir tas pats banko/paypal accountas...
     
    MD5 yra TIEK sulūžus funkcija, kad suabejočiau net ar naudoti failų checksumams. O čia slaptažodžiams... Vienintelė tinkama reakcija.
  17. Patinka
    Silke sureagavo į alter PHP autorizacija   
    Jei rūpi vartotojai, nenaudokite MD5, SHA1, SHA256 ir t.t. Šitie "hashinimo" algoritmai optimizuoti greičiui ir netinka "hashinti" slaptažodžiam. Pvz. naudojant Amazon EC2 infrastruktūrą galima gan pigiai tikrinti virš 100,000,000,000 "hashu" per sekundę. Druskos nuo "brute force" atakos taip pat nepadeda.
     
    Naudokit bcrypt, tai visai nesudėtinga. Paprastas pvz. paimtas iš stackoverflow:

    // Generuoja bcrypt hasha function blowfish($password, $cost) { // Random 22 simboliu druska, $chars = './ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; $salt = sprintf('$2a$%02d$', $cost); for ($i=0; $i < 22; $i++) $salt .= $chars[rand(0,63)]; return crypt($password, $salt); } // Vietoj $hash = md5('password'); $hash = blowfish('password', 12); // Vietoj if (md5('password') == $hash) if (crypt('password', $hash) == $hash)
     
    P.S. Nauja PHP versija (5.5) jau turės specialiai slaptažodžių "hashinimui" skirtas funkcijas, kurios pagal nutylėjimą naudos bcrypt - password_hash(), password_verify():

    $hash = password_hash($password, 12); if (password_verify($password, $hash)) {}
  18. Patinka
    Silke gavo reakciją nuo alter PHP autorizacija   
    NE.
    NE.
    NE.
     
    Abi šios funkcijos yra greitos ir daugiau ar mažiau turi atrastų collisionų. (MD5, aišku, daug seniau sulaužyta...). Tai, kad pakombinuosi jas abi, vis tiek neduos nieko gero. Pasiėmus tavo duomenų bazę, su geru žodynu ar rainbow tables prasieiti per tokį paprastutį sha1(md5()) dalykėlį – sekundžių, blogiausiu atveju – poros minučių reikalas. Turint omeny, kad ne kiekvienas turi proto naudoti stiprų slaptažodį, kokią pusę jų išcrackintum būtent per tiek.
     
    Naudok bcrypt, scrypt ar PBKDF2. Su unikaliais saltais, žinoma. Šios funkcijos specialiai yra sukurtos lėtos ir jas galima dar lėtinti padidinant ciklų skaičių. Įsilaužėlis užtruks daug ilgiau vien išcrackinti vieną slaptažodį, dar pridėkim unikalius saltus ir tai bus beveik neįmanoma, neturint valstybinių superkompiuterių ar begalės lėšų cloudams... :)
     
    http://www.phptherightway.com/#password_hashing_with_bcrypt
     
    Dėde, visiškas feispalmovičius. Kaip gali nerūpėti vartotojų saugumas? Na ir kas, jei tavo tinklalapis kažkoks nereikšmingas šūdukas, kas nors vis tiek pasidarys tokį pat slaptažodį, kaip ir jo emailas, facebookas, ar ir tas pats banko/paypal accountas...
     
    MD5 yra TIEK sulūžus funkcija, kad suabejočiau net ar naudoti failų checksumams. O čia slaptažodžiams... Vienintelė tinkama reakcija.
  19. Patinka
    Silke sureagavo į welkam Codeblocks uzdavinys   
    Kill it before it lays eggs!!!
    O kiek žinau codeblocks yra c ir c++ IDE
  20. Patinka
    Silke gavo reakciją nuo Transparent Programavimo kalbos pasirinkimas   
    SQL neturi nieko bendro su PHP. Rimtai. Tik tiek, kad kai kurių SQL duomenų bazių client bibliotekos yra PHP'e defaultu. Tad nėr ko SQL automatiškai suplakt su HTML, CSS ir PHP :) Lygiai taip pat PHP gali naudoti su ne-SQL duomenų baze, o SQL DB – su ne-PHP kalba :)
     
    O šiaip, kvailas požiūris įsivaizduot, kad vien C++ ir Java – „tikros“ kalbos, o web'ui – tik PHP. Pastarajam programuojama kuo tik nori šiais laikais: Python, Ruby, Go, Java, C++, Scala, net kokia nors Clojure ar Haskell. PHP daug aspektų yra tiesiog tragiška ([1], [2]).
     
    Na o darbo pasiūlymai... Kaip čia pasakyti, kompanijos analogiškai – jei gali spausti pinigus iš senos PHP, tai ko joms dėti pastangas į perėjimą prie kitos kalbos. Bet nėra taip jau tuščia kitoms kalboms, įvesk į http://www.dirbkit.lt/ kokį nors Python – vietų yra. Ar tau tikrai reikia 100 pasiūlymų? Jei 5 tie patys stovi jau ilgą laiką, gal tinkamo neranda, o tu, būdamas geras specialistas, kaip tik tiksi... :) Tuo labiau pasižiūrėjus į užsienį rastum dar daugiau pasiūlymų ir tikrai ne PHP-istams.
     
    PHP bando taisytis, tačiau kitos kalbos ją prašoko gerokai, o be to, PHP ir yra tik vienai sričiai skirta kalba. Nepyk, vėl kalbėsiu apie Python, nes tiesiog tai mano sritis, tačiau pilna pavyzdžių, kai Py puikiai tinka aplikacijoms ir nereikia jokios C++ ar Java. Pavyzdžiui, krūva Ubuntu pagrindinių programų sukurtos būtent Python: Software Center, Update Manager ir t.t. Dar galima minėti Mercurial, originalų BitTorrent klientą, Dropbox, Sublime Text, Portage ir t.t. :) Jei kas yra dar kitos kalbos specas – galbūt papildys pavyzdžiais.
     
    Dar pavyzdys iš careers.stackoverflow.com:

    Perl 108 pasiūlymai Node.js 175 // pakankamai naujas dalykas // ieškoti vien „JavaScript“ būtų netikslinga – // įtraukiami ir ieškantys front-end specialistų C++ 226 PHP 235 Ruby 236 Obj-C 255 Python 297 Java 424
     
    Java iš mano ieškotų pirmauja, bet tikrai nėra „pasiūlymai pagrinde PHP arba C++ ir aišku Java“ :)
  21. Patinka
    Silke gavo reakciją nuo extremist Jūsų programavimo įkainiai   
    Sveiki,
     
    Na, kalbant su vienu klientu, kilo mintis paklausti kitų - kokie jūsų programavimo įkainiai, t.y., už kiek parsiduodate? :D Ar taikote valandinį tarifą, o gal sutariate konkrečią sumą už projektą ar tam tikrą jo dalį? Ir aišku, būtų gerai, kad prie to pasakytumėt ir savo darbo patirtį/išsilavinimą (aukštasis išsilavinimas, savamokslis, etc.) :)
     
    Nes yra tekę paskaityti ir apie tokius, kurie už 5Lt dizainą sukoduoja... :lol: Na, žodžiu, tikiuosi, kad ir jums bus įdomu ir laukiu jūsų atsakymų :)
  22. Patinka
    Silke gavo reakciją nuo FaitasS Programavimo knyga !   
    O – tiesa.
     
    Tik keista, kai renkamasi knygas, nepasirinkus nei srities, nei kalbos.
  23. Patinka
    Silke sureagavo į HOST321 Programavimo knyga !   
    Pirmasis linkas knyga PHP+MySQL
  24. Patinka
    Silke gavo reakciją nuo valentinas25 [HELP]Programavimo kalbos pasirinkimas!   
    Nenoriu žiebt flamewar'o, čia tik šiaip :)
    Maždaug tiek pat kiek C, C++, C#, Java...
     
    O šiaip JavaScript gana baisi ir vietomis neapmąstyta kalba (na, tuo turbūt irgi į PHP panaši :D). Aišku, EcmaScript 6 jau rodos, geresnis. Viskas mažais žingsniais :)
     
    O pagrindinę hype dėl Node.js priežastį – asinchronišką modelį, galima gauti ir daug kur kitur :)
     
    https://www.destroyallsoftware.com/talks/wat
     
     
    Nenuspręsk iš vienos žinutės. Jei turi pažįstamų programuotojų, paklausk jų nuomonės. Konkrečiai Ruby/Python galimybės panašios. Ruby labiau crazy atrodo – taip apibūdinčiau... :)
     
    Ir dar. Labai teisingas komiksas. Ne vien C++.
  25. Patinka
    Silke gavo reakciją nuo FaitasS [HELP]Programavimo kalbos pasirinkimas!   
    Mokykis programavimo, ne kalbos.
     
    Rimtai.
     
    Jei esi tvirtai nusprendęs ateitį sieti su tuo, negali tikėtis, kad viena kalba tiks viskam, kad rasi darbo mokėdamas vien ją ir t.t.
     
    O dabar mano nuomonė: pasirink pradžiai ką nors dinamiškesnio, smagesnio (Python, Ruby?). Galėsi kurti ir desktop aplikacijas, ir webus, ir serverius, ir, ir...
     
    Tik vėlgi, nesiūlau nuo pirmos dienos pulti realizuoti savo nerealių aplikacijų idėjų. Pagrindai yra labai svarbu. Mokydamasis nors ir savo pirmąją kalbą po truputį pradėsi kapstyti giliau, daug dalykų bus nuo tavęs paslėpta – tada gal ir bus naudinga imti kokią kitą kalbą, ar žemesnio lygio, ar apskritai kitokią (funkcinę?) ir t.t. :)
×
×
  • Pasirinkite naujai kuriamo turinio tipą...