Jump to content
php.lv forumi

krikulis

Reģistrētie lietotāji
  • Posts

    100
  • Joined

  • Last visited

Posts posted by krikulis

  1. CURL, taisam konekciju un čekojam

    P.S. pilnīga jūzera testēšana ir 65554 * 4 funkcijas calli :{

    
    /**
    * funkcija atgriež vai ip adreses portā listenojas $type proksis
    */
    function check_proxy($ip, $port, $type){
    if(!in_array($type, array('http', 'socks4', 'socks5')){
                           throw new errorException("Unsuported proxy type. OWnED!"); 
                          }
                       $ch = curl_init("http://php.lv/");
                       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                       curl_setopt($ch, CURLOPT_HEADER, 0);
                       curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
                       curl_setopt($ch, CURLOPT_TIMEOUT, 10);
                       curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
                       curl_setopt($ch, CURLOPT_USERAGENT, "Ownage tester. LOL");
                       curl_setopt($ch, CURLOPT_REFERER, "http://freeporn.lv/hardcore/");
                        curl_setopt($ch, CURLOPT_PROXY, $ip.":".$proxy);
                       if($type == "socks4") curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);
                       else if($type  == "socks5") curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
    
                       $html = curl_exec($ch);
                       if(curl_errno($ch) || $html == "") {
                         return false;
                       } else {
                         return true;
                       }
                       curl_close ($ch);
    

  2. kāds vēl reversais proksis.

    zenda bināros failus var lasīt un laust. Imo, netā bija t00lis, kas zend opcode pwnoja.

    http://www.zend.com/forums/index.php?t=msg&goto=19131

    galu galā - visu ko var izpildīt kompis, cilvēks var reverse-engineerot.

     

    ja dikti vajag, es taisītu savu output buffera handleri, kas saturu aiztiek . Licenced to tekstu var ar pgp šifrēt,aplikācijai - privātā atslēga, fails šifrēts, ar čeksummu :) Mazākas prbl un tikpat droši būtu pasludināt, ka visi kas to nedarīs tiks nosūtīti BSA un iesūdzēti par autortiesību pārkāpšanu un degs elles ugunīs ar to ķeceri Stallmanu :)

     

    n00bs pieliks divam display:none; un varēsi sūkāt īkšķi.

  3. Pardon, nakts vidū domu nepareizi izteicu . Simetriskā kriptogrāfija viena pati nav pietiekami fleksibla, jamai klāt liekama ir asimetriskā. Biedram, kas grib aplikācijas levelā filtrēt un datus sortēt, ātrdarbība jau nu nav vērā ņemams faktors.

     

    Par 64bit keyu vainīgs. Man tas amatieru RC5 laušanas distributed comp. pasāciens bija iespiedies atmiņā ar AES saistībā, kaut gan saistība tik tāda, ka AES uz RC6 bāzēja.

     

    Ar asimetriskās kriptogrāfijas palīdzību no droši pārraidīt datus untrusted vidē, kur tikai viens endpoints (serveris) ir pieņemts kā drošs.

  4. 1mher3--> Tev vajag izvadiit Savaktos /ieguutos datus...

    Taas daljas tev truukst ..

     

    Edit : Es pats izmantoju sadu smeraa primitiivu AJAX dalju

    Testets uz FF/OPERAS IE ( vers 6;7;8 ) Taa kaa var teikt strada uz gandriiz uz visiem brauzeriem

     

    JS ir anonīmās funkcijas un prototipi.

     

    kādēļ kodu piesārņot ?

    mazliet pārrakstīju Grey_Wolf kodu, tā sakot netestēta brīvā improvizācija rudens naktī .

    Ieteikumi welcomēti.

     

    function ajax () {
     this.prototype.xmlhttp = new XMLHttpRequest;
    }
    ajax.prototype.send(callback, url, data = null, method = 'GET', async = true){
     this.xmlhttp.onreadystatechange = function(response) {
       if (this.xmlhttp.readyState==4)
         callback(response, this.xmlhttp.status);
       }
     }
     this.xmlhttp.open(url, method,  async);
     this.xmlhttp.send(data);
    } 
    

  5. elementa bez stila renderēšana specifikācijas ir iekļauta abstraktā formā un tur katrs pārlūks var darīt kā grib:).

    Viens no CSS rašanās iemesliem arī bija panākt to, lai viss izskatītos vienādi uz visiem pārlūkiem . Pirms tam nekautrējoties lika bannerus - best viewed by netscape, best viewed by IE utt.

     

    ja standarti nav kaut ko dadomājuši vai kkas nav implementēts, nākas hackot. Ja hacks vēl beigās iznāk standartiem atbilstošs, tad ko vēl labāku var vēlēties.

     

    Grey_Wolf, analoģija - ja man mājas santehniķis podu mainot saka, ka jams nevar podu nevar uzlikt tik tālu no radiatora, lai man ziemā pakaļa nesviltu un vēl kaut ko stāsta par standartiem, tad es jamā vietā izvēlēšos kādu, kas izdarīs kā es gribu un kā man ir labāk, jo galu galā es maksāju par to visu :) Programmētājs arī ir pakalpojumusniedzējs un viņam tā arī jāizturas, nevis pirksti gaisā - vai cik es kruts, kompjūterus saprotu, yo!

  6. ja nevari / nemāki / negribi modificēt blogu/forumu, bet gribi iegūt smuku rezultātu ar sliktiem linkiem, izmanto ifreimu. ja negribi iespēju nekādīgi lapu skatīt bez apvalciņa, tad JS tev nāks talkā

    if(top.frames.length == 0){
     document.location = "links uz freimu saturošo lapu"
    }
    

    normālāks variants ir vienkārši nomodificēt tā verķa tēmu, lai jams attēlojas tev kā vajag / salikt inklūdes uz saviem skatiem.

  7. LR ir uz vienas rokas pirkstiem skaitāmi hosteri ar > 1k hostētu lapu.

     

    Par 100 būs vairāk par 2 roku pirkstiem :) Visādiem tups.lv , valsts.lv būs arī vairāk par 100 lapām.

     

    Mans rēķins -

    dzelzis simts lapām - ~1k Ls ar RAIDu un normālu servisu . Dalam 3 gadiem - garantijas laiku . 330 Ls gadā, ~ 10 Ls mēn

    viduvējs admins uz pusslodzu, kas jēgtu backupus apraudzīt un logus redzēt utt - ~400 Ls

    kaste datu centrā - ~50 Ls

    450 Ls mēnesī

    Vidēji LV klients par servisu bez diennakts supporta un prestiža brenda maksās 5 Ls / lapa.

    100 lapas - 500 Ls mēnesī . Peļņa - max 50 Ls mēnesī :)

     

    Pa 100 eirikiem tas būs dedicated / virtuālais serveris :) LV arī ir hostinga kompānijas, kam viss griežas klāsteros.

  8. Ar 100 klientiem vienkāršāk ir būt resellerim kaut vai pie mosso nekā savu srv čakarēt :) IMO, hostings kā bizness sākas no 1000 klientiem pie LV cenām .

    Es turētu paralēli 2 php versijas un atkarībā no vajadzības, arī jamās izmantotu :)

     

    Klients no PHP versijām praktiski vienmēr neko nejēdz, pasaki, ka jaunajai lapai vajag jaunu PHP versiju un miers :)

  9. web developer, klients būs redzējis vvz kādā lapā, ka tā var un aizies pie citiem, izbazūnējot, ka tādi un tādi ir neprofesionāļi. Ir lietas, kas nav tehniski realizējamas, vai realizējamas ar grūtībām, bet tas arī klientam jāizskaidro, pasakot kādas būs problēmas ar viņa vēlmes realizēšanu un vai viņš to vēlas :)

  10. CSS3 standarts šobrīd tiek izstrādāts, tādēļ par pilnīgu implementāciju browseros vēl nevar būt ne runas .

    IMHO, Sākot ar IE7, 1.7 Firefoxi, 9 Operu, 2 Safari, browseri ir sākuši daļēji implementēt CSS3 specifikācijas draftu(Piem, opacity). Kamēr CSS3 nav kļuvis par w3 standartu, par pilnīgu implementāciju nevienā browserī nevar būt ne runas :).

  11. nešaubos, ka hosterim ir legacy sistēmas, kur stāv PHP4 un neviens tur neko neupdeitos .Tomēr, ja hosteris šobrīd nesupportē php5, tad jams ir stipri aizsēdējies pagātnē, nedomā par izaugsmi, darbojas ar safe_mode un citām muļķībām, kā arī ir ar draņķīgu supportu :) Man šķiet, ka pat LV var izvēlēties LAMPa stacku hostē dauudz hosteru (par jamo profesionalitāti ir cic jautājums :), tad ārzemes nav prbl.

     

     

    Visp. nav jau arī prbl palaist ij php4, ij php5 uz servera un piehackot apachi, lai jūzo konkrētajam vhostam, kuru vajag :)

  12. Dažiem šeit nav laika sēdēt forumā 24/7

    Ar rootkit var datus. Kaut vai ar man - in - the - middle uzbrukumu starp MySQL klientu / serveri (Ja ir serveris ownots, tad privāto atslēgu SSLam dabūsim, ja klients - var uzģenerēt jaunu sertifikātu un klientam pateikt, ka jams ir trusted).

    Pārfrāzējot par datu un aplikācijas loģiku:

    Datu drošība - DB, aplikācijas drošība - aplikācijā.

     

    Ja kriptēsi ar MySQL funkcijām, viss kverijs būs pieejams logos, ar visu AES atslēgu.

     

    Daudzslāņu drošības risinājums nav no viena slāņa atkarīgs. Ja nofeilo viens slānis, uzbrucējs atduras strupceļā, savukārt tavs risinājs ir atkarīgs no vienas jūzerneima / paroles kombinācijas .

     

    Par datu atkarību no datubāzes - arī 10 gadus vecai DBVS var šodien php / .NET pieslēgties un jamo jūzot.

    Savukārt pamēģini šodien FoxPro verķi padarbināt uz 2008 servera / Vistas putna un vēl palabot. Datu atkarība no aplikācijas ir slikta ideja, it sevišķi, ja dati ir vērtīgi. Dati savu vērtību zaudē lēnāk kā programmēšanas valodas aktualitāti un lielākajai daļai DBVS ir iespējams migrēt uz jaunāku versiju ar mazāku ķesku kā pārrakstīt kodu citā valodā, pie tam neaizmirstot visus datu integritātes un unikalitātes ierobežojumus.

     

    Starp citu, simetriskā kriptogrāfija nav tik fleksibla datu drošības jautājumos kā asimetriskā. AES ir super hardcore drošs >=192bit atslēgām . 64bit atslēgas ir ownotas ;). Pieņemšu, ka serveris ir trusted party, tad prātīgi serverim dot privāto atslēgu, klientiem - publisko. Tādejādi viena puse varētu tikai atšifrēt datus (trusted), otra - aizšifrēt. Datu integritāte būtu pasargāta no nesankcionētiem uzbrukumiem / man - in - the middle, veicot verifikācijas procesu, kurā klients aizšifrē serverim iepriekš zināmus datus, bet serveris - atšifrē, pārbauda.

     

    Ja man būtu jātaisa kaut kas drošs "uz sitiena", bez vadlīnijām un laika, lai izstudētu piemēram Visa vai Mastercard drošības prasības online sistēmām, es darītu tā:

    1)aplikācijas nodei pieeja f/w atļauts trafiks tikai uz klientiem un uz db.

    2)DB var runāt tikai ar aplikācijas nodi, pietam ar SSL trafiku .

    3)DB jūzeri, kuram katram minimālā iesp. piekļuve datiem atkarībā no specifikācijas uz tabulām / skatiem / procedūrām, ar kuriem var manipulēt ar datiem .

    4)DB dati un aplikācijas kods atrodas uz kriptētām partīcijām, tāpat arī tmp / swaps.

    5)Jūzeri slēdzas klāt pie aplikācijas, izmantojot ij klienta puses SSL sertifikātus, ij userneimu/pass . Enforcojam accessu arī klienta pusē, līdz ar to uzbrucējam jāapiet divi slāņi db piekļuvei app/fw un db iebūvētie drošības kontroļi.

    6)Visām SSL vajadzībām uztaisam savu CA, sertifikātus ģenerējam kaut vai ar LiveCD palīdzību, pēc sertifikātu uzģenerēšanas root certifikātu izprintējam, iebāžam seifā .

    7)Aplikācijas nodes uzmočītu uz read-only sistēmām, kur nekas atskaitot swapu un ramu nav rakstāms.

    8)Visus logus ar write only kanālu uz citu serveri, kur logus arī kāds regulāri pētītu .

     

    Rezultāts - nevienā posmā dati nav nekriptēti. Klients ar savu paroli var jūzot jebkuru aplikāciju, kas darbojas ar DB, aplikācijas var kodēt izmantojot standarta api un drošības lietas ir padarītas vienkāršas, nevis sarežģītas. Var darboties daudz konkurenti jūzeri,

  13. DB konekciju nevajag likt kā singleton freimworka kontekstā - ir diezgan daudz scenāriji, kur jāslēdzas dažādām DB / ar dažādiem lietotājiem.

     

    P.S. par funkciju nosaukumu ar vienu zīmi un obscured klašu nosaukumu veidošanu vajadzētu nocirst pirkstus un mūžīgi banot no datora lietošanas.

  14. Ja nemaldos, tad tev prasās pēc singleton / multitone patterna, resp, ka tiek pieglabā instance un jamā netiek visu laiku taisīta.

    Singleton vienīgā atšķirība no multitone ir tā, ka singleton ļauj izveidot tikai vienu klases instanci, bet multitone - vienu katra veida / tipa instanci .

    Piemērs būtu kaut vai DB kontekstā, viena konekcija ar jūzeri, kas var rediģēt datus, otra - kas var tikai lasīt .

    Darbojas jamā, padarot konstruktoru par privātu funkciju, ar privātu statisku mainīgo un publisku statisku funkciju, kas padod instanci.

     

    piemērs:

    class Multitone {
    private static $instances = array();
    public static function getInstance($id = 'default'){
     if(!isset($instances($id)){
      $class = __CLASS__; 
      //Šeit var padomāt par konfig parametru nodošanu, utt.
      self::$instances[$id] = new $class;
     }
     return self::$instances[$id];
    }
    private function __construct(){
     /** Teh codez **/
    } 
    }
    

    bubu, mysqli sako statementu api, PDO rullz + iemācoties jamā api, var to konstenti lietot vairākiem DBVS tipiem un nav jāsķiež laiks, mācoties katras DBVS php bindingu api. IMO, viena no retajām lietām, kas php ir normāli uztaisīta, bet netiek pietiekami plaši izmantota dēļ programmētāju stulbuma :)

     

     

    http://php.net/PDO

  15. Arī zend opcode var lasīt . Source nav iespējams padot tā, lai jamo nevarētu atkodēt.

     

    Ar normālu privilēģiju nodalīšanu jūzeriem / fw un hardeningu var panākt to pašu bez bezjēdzīga čakara.

    Tavs variants ir slima suņa murgi, kas pat teorijā ir idiotisks :)

     

    Dati un datu loģika -> datubāze

    Aplikācijas loģika -> aplikācija

     

    Tu datus padara atkarīgus no aplikācijas, kas nozīmē vien to, ka pēc 10 gadiem tavi sensitīvie dati būs nejūzojami.

     

    Neizrubot logošanu, kverijus varēs lasīt no binloga / slowloga. Bez binloga nevar taisīt inkrementālus backupus un replikāciju.

×
×
  • Create New...