Prenumeruok RSS

Straipsniai pagal gairę

PHP konferencija 2007

2007 balandžio 14 dieną vyks turbūt jau ketviroji PHP konferencija.

Šiuo metu jau žinomi keli pranešėjai: Emilį Dambauską [lunaticLT], Domą Mituzą [dammit], Artūrą Šlajų [arturaz]

Jei turite idėjų dėl pranešimų, temų vis dar nevėlu siųlyti koordinatoriams.
Platesnė informacija oficialiame puslapyje .

Manau ši koonferencija bus daug įdomesnė ir pažengusiems, ir žinoma naujokams.

Programavimo kalbų mokslinis palyginimas

php platformsBerlyno Universiteto profesorius Lutz Prechelt, tiriantis programinės įrangos panaudojamumą, sumastė atlikti web developmentui skirtų programavimo kalbų ir platformų mokslinį palyginimą. Kadangi Internete verdantys debatai atrodo niekada neišspręs klausimo kas geriau, jis sumąstė reikalą išspresti tiesiai šviesiai: susikviesti įvairių platformų gerus programerius į vieną vietą su savo serveriais ir paruoštomis platformomis, paskirti užduotį, duoti jiems laiko ir sulyginti gautus rezultatus įvairiais aspektais. Idėja beveik ir įgyvendinta: toks „konkursas“ vyksta dabar Niurnberge (sausio 25-26 dienomis). Surinktiems programeriams, bus duota užduotis ir skirta 30 valandų jai realizuoti. Šis renginys pavadintas Plat_Forms

Atstovaujamos deja tik PHP, Perl ir JAVA kalbos. Komandos

Neither Python nor Ruby nor, surprisingly, .net had a sufficient number of sufficiently qualified applications. In order to ensure the quality of the teams, we have thus not included these platforms in the contest this year.

Šiuo metu, kai vyksta šis “tyrimas”, vyksta ir Live Bloginimas. Tad eiga ir rezultatus galite stebėti.

PHP5 ir PHP4 viename kompiuteryje

Jei programuoji su PHP tiek darbui, tiek savo malonumui yra noras tureti tiek PHP5 tiek PHP4 instaliuotą, arba būtą lengvai paleisti vieną ar kitą versiją. Tam realizuotų būdų yra tikrai ne vienas, bet deja ne vienas oficialus. Parazitas Zend’as užsiminėdamas komercija kažkaip nepadaro teisingo varianto. Juk tikrai nesinori daryti taip, kad PHP4 leistųsi kaip xxx.php4 failas.

Pasistengsiu aptarti keletą variantų, kuriuos galėtumėte įgyventinti. Jie labiau skirti lokaliems sprendimams, o adminai kaip konfiguruoti serverį patys žino

Simple metodas

Paprasciausia nurodoma kad php5 yra php5, o php yra php4 instaliacija. Bet man toks variantas, pats blogiausias, nes tikrai nesinori naudoti php5, php4 extensionų.

Pakeičiamosiojo skripto metodas.

Turbūt vienas paprasčiausių. Suinstaliavus php4 reikia į tam tikrą vietą kopija php.ini ir apache.conf failą. Žinoma jie jau yra su jūsų sukonfiguruotais nustatymais. Tą patį galima padaryti ir su PHP5 versija. Versijoms pakeisti susikuriam maza paleidziama failuką. php5versija.bat

@echo off
echo PHP 5.2.0 aktyvacija.
net stop apache2
echo Conf.Apache
copy c:\www\Server\PHP\switcher\php5.2.0\httpd.conf  c:\www\Server\Apache2\conf\ /y
echo Conf.PHP
copy c:\www\Server\PHP\switcher\php5.2.0\php.ini c:\WINDOWS\php.ini /y
net start apache2

Šio metodo privalumas ir trūkumas yra, kad naudojama vienu metu tik viena versija, tik reikalui esant pakeičiama į kitą. Bet toks metodas tinka tuomet kai dirbate tik ant localhost ir kiekvienas naujas projektas yra kaip direktorija.

Truputi kitokia versija šio metodo aprašyta čia

Hex metodas

Jūs tarsi koks hakeris turėsite pakeisti dll failiukus, juos paredagavę su hex redaktoriumi. Jo esmė paprasta pakeičiama php.ini į ph4.ini (php4ts.dll faile), bei application/x-httpd-php į application/x-httpd-ph4 (php4apache.dll ar hp4apache2.dll faile). Ir vuolia turite dvi versijas viename. o apachiui nurodot  kad tai yra php

AddType application/x-httpd-ph4 .php

Tad kurdami virtualhostus, arba pagal projektu direktorija, bus paleidžiama atitinkmai PHP5 ar PHP4.

Dviejų apachiu metodas

Paleisti galima ir du apachių procesus, kurie dirbs ant skirtingų portų. Žinoma resursų išnaudos šiektiek daugiau.  Bet turbūt labiausia nervuos uždėti porto adresą puslapyje.

O servisas papildomas, gan lengvai instaliuojasi:

apache -k install -n "MyServiceName" -f "c:\files\my.conf"

Module ir Fastgi metodas

PHP gali būti paleidžiamas ir kaip apache modulis, ir kaip cgi aplikacija. Metodas aprašytas vienoje kitoje svetainėje

Pabaigai

Na o jei tinginte patys žaisti su tokiais instaliavimais, galite pasinaudoti wamp, kuris šią savybę turi (bent kaip adonas)

Darbas PHP programuotojui Kaune

Ieškom Kaune PHP programuotojų. Darbas rimtoje kompanijoje (UAB “Net Frequency”) su rimta alga :) Kreipkitės! Reikia tikrai ne vieno žmogaus, tad jei turit patirties ir norit tobulėt bei būti socialiai aprūpintas – dabar jau laikas! Kompanija ~30 programuotojų, tad su kuo pasitart ir į ką lygiuotis tikrai bus!

Graziai LG parase,tad copy/paste. Nes stipriai ieskom.

PHP saugumo auditas

PHPSecurity išleido PHP programėlę, kuri veikia kaip phpinfo() ir reportuoja apie serverio esančius blogus/rekomenduotinus nustatymus.

The idea behind PHPSecInfo is to provide an equivalent to the phpinfo() function that reports security information about the PHP environment, and offers suggestions for improvement. It is not a replacement for secure development techniques, and does not do any kind of code or app auditing, but can be a useful tool in a multilayered security approach.

Daugiau informacijos oficialiame puslapyje.

Ajax manual

Visai įdomus sprendimas ir idėja nebloga, nors paprasta. Patestuokite patys, kolkas supranta PHP, Mysql, Javascript, Css.

PHParch 2006 rugpjūtis

Kaip kiekvieną mėnesį gaunu naują žurnalo numeriuką. Šiektiek info kas šiame numeryje.

  • Planet HTTP

    Harness the power of HTTP in your PHP scripts

  • Integrating OpenLaszlo with PHP

    Connect with this innovative rich-media platform

  • Application Development with PHP-GTK 2: Part 2

    Discover PHP-GTK extensions, and the simplicity of Glade

  • Staying DRY with Code Generation in PHP

    Learn how to stop writing the same tedious code over and over

  • Test Pattern

    Variations on a Theme

  • Security Corner

    Configuration Security: php.ini

  • Asmens kodas

    Reikia patikrinti asmens kodo teisingumą? Manau šis dalykas jums pravers. Skanaus.

    Algoritmas lietuviško asmens kodo (nuo 65 puslapio).

    PHP, JavaScript versija pateikti nuo manęs, kiti buvo parodyti kaip komenarai senojoje blogo versijoje.

    PHP

    PHP - Copy Code

     1 <?
    
     2 /**
    
     3  * Tikrina ar asmens kodas
    
     4  *
    
     5  * @param string $s
    
     6  * @return bool
    
     7  */
    
     8 
    
     9 function ar_asmens_kodas($s) {
    
    10   if (!is_numeric($s) || strlen($s)!=11) {
    
    11     return false;
    
    12   }
    
    13   $d=0; $e=0; $b=1; $c=3;
    
    14   for ($i=0;$i<10;$i++) {
    
    15     $a=$s[$i];
    
    16     $d=$d+($b*$a);
    
    17     $e=$e+($c*$a);
    
    18     $b++; if ($b==10) $b=1;
    
    19     $c++; if ($c==10) $c=1;
    
    20   }
    
    21   $d=$d % 11;
    
    22   $e=$e % 11;
    
    23   if ($d==10) {
    
    24     $i = ($e == 10) ? 0 : $e;
    
    25   } else {
    
    26       $i = $d;
    
    27   }
    
    28   return ($s[10]==$i) ? true : false;
    
    29 }
    
    30 
    
    31 /**
    
    32 * Butinai reikia paduotu stringa siam scriptui atveju, pvz
    
    33 * ar_asmens_kodas('38011254123');
    
    34 */
    
    35 ?>

    Javscript

    Javascript – Copy Code

     1 function tikrinti_akoda(kodas) {
    
     2 var i,a,b,c,d,e;
    
     3 var s = new String(kodas);
    
     4     d=0;
    
     5     e=0;
    
     6     b=1;
    
     7     c=3;
    
     8     for (i=0;i<10;i++) {
    
     9         a=s.charAt(i);
    
    10         d=d+(b*a);
    
    11         e=e+(c*a);
    
    12         b=b+1;
    
    13         if (b==10)
    
    14           b=1;
    
    15         c=c+1;
    
    16         if (c==10)
    
    17             c=1;
    
    18      }
    
    19      d=d % 11;
    
    20      e=e % 11;
    
    21      if (d==10) {
    
    22           if (e==10)
    
    23             i=0;
    
    24           else
    
    25             i=e;
    
    26      } else
    
    27           i=d;
    
    28      if (s.charAt(10)==i)
    
    29          return true;
    
    30      else
    
    31          return false;
    
    32 }

    Perl

    http://search.cpan.org/~kudarasp/Asmens-Kodas-0.02/lib/Asmens/Kodas.pm

    MS SQL

    Copy Code

     1 CREATE PROCEDURE asmensKodoTikrinimasSP
    
     2 (      @AsmensKodas bigint
    
     3 )
    
     4 AS
    
     5 BEGIN
    
     6   DECLARE @L  INTEGER,
    
     7             @M1 INTEGER,
    
     8             @M2 INTEGER,
    
     9             @M3 INTEGER,
    
    10             @M4 INTEGER,
    
    11             @D1 INTEGER,
    
    12             @D2 INTEGER,
    
    13             @R1 INTEGER,
    
    14             @R2 INTEGER,
    
    15             @R3 INTEGER,
    
    16             @K  INTEGER,
    
    17             @ATS BIT
    
    18 
    
    19     IF @AsmensKodas &gt; 10000000000
    
    20     BEGIN
    
    21          IF @AsmensKodas &lt; 69999999999
    
    22          BEGIN
    
    23               SET @L = @AsmensKodas / 10000000000
    
    24               SET @AsmensKodas = @AsmensKodas - (10000000000 * @L)
    
    25               SET @M1 = @AsmensKodas / 1000000000
    
    26               SET @AsmensKodas = @AsmensKodas % 1000000000
    
    27               SET @M2 = @AsmensKodas / 100000000
    
    28               SET @AsmensKodas = @AsmensKodas % 100000000
    
    29               SET @M3 = @AsmensKodas / 10000000
    
    30               SET @AsmensKodas = @AsmensKodas % 10000000
    
    31               SET @M4 = @AsmensKodas / 1000000
    
    32               SET @AsmensKodas = @AsmensKodas % 1000000
    
    33               SET @D1 = @AsmensKodas / 100000
    
    34               SET @AsmensKodas = @AsmensKodas % 100000
    
    35               SET @D2 = @AsmensKodas / 10000
    
    36               SET @AsmensKodas = @AsmensKodas % 10000
    
    37               SET @R1 = @AsmensKodas / 1000
    
    38               SET @AsmensKodas = @AsmensKodas % 1000
    
    39               SET @R2 = @AsmensKodas / 100
    
    40               SET @AsmensKodas = @AsmensKodas % 100
    
    41               SET @R3 = @AsmensKodas / 10
    
    42               SET @AsmensKodas = @AsmensKodas % 10
    
    43               SET @K = @AsmensKodas
    
    44 
    
    45               DECLARE @Suma INTEGER, @Liekana INTEGER
    
    46               SET @Suma = @L * 1 + @M1 * 2 + @M2 * 3 + @M3 * 4 + @M4 * 5 +
    
    47                          @D1 * 6 + @D2 * 7 + @R1 * 8 + @R2 * 9 + @R3 * 1
    
    48               SET @Liekana = @Suma % 11
    
    49               IF @Liekana &lt;&gt; 10
    
    50               BEGIN
    
    51                    IF @Liekana = @K
    
    52                       SET @ATS = 1
    
    53                    ELSE
    
    54                       SET @ATS = 0
    
    55               END
    
    56               ELSE
    
    57               BEGIN
    
    58                    SET @Suma = @L * 3 + @M1 * 4 + @M2 * 5 + @M3 * 6 + @M4 * 7 +
    
    59                               @D1 * 8 + @D2 * 9 + @R1 * 1 + @R2 * 2 + @R3 * 3
    
    60                    SET @Liekana = @Suma % 11
    
    61                    IF @Liekana &lt;&gt; 10
    
    62                    BEGIN
    
    63                       IF @Liekana = @K
    
    64                          SET @ATS = 1
    
    65                       ELSE
    
    66                          SET @ATS = 0
    
    67                    END
    
    68                    ELSE
    
    69                    BEGIN
    
    70                         SET @Liekana = 0
    
    71                         IF @Liekana = @K
    
    72                            SET @ATS = 1
    
    73                         ELSE
    
    74                            SET @ATS = 0
    
    75                    END
    
    76               END
    
    77          END
    
    78          ELSE
    
    79              SET @ATS = 0
    
    80     END
    
    81     ELSE
    
    82         SET @ATS = 0
    
    83 
    
    84     SELECT @ATS

    Kita

    Na daugiau :) Dos versija

    PHP konferencija

    Kagi įvyko 2-oji PHP konferencija, kurioje teko pakalbėti ir man :). Esu praktiškas žmogus nemėgstantis blevyzgų, tad kažkaip labai faktiškai ir pasakojau. Na jei kam patiko ir turite klausimėlių į kaikurius galėsius atsakyti, tik sukontaktuokite.

    Mano skaityta tema apie komercine turinio valdyma SiteSupra. Ją galite patys išbandyti, paskaityti ir t.t www.sitesupra.com svetainėje.

    SiteSupra veža mane, gal ir tau patiks?

    Sėkmės.

    Parsiųsti mano slaidus [5.236MB] (Žiauriai daug paveiklsiukų)

    PHP saugumas, kontaktų forma?

    Dažnai svetainėje būna kontaktų forma aka sussisiekite su manimi. Tai daroma ne tik asmeninėse svetainėse, bet ir daugelyje rimtų svetainių. Atrodo labai simple programėle, ir koks tai gali būti blogis? Blogi žmonės gali pasinaudoti kaip SPAMinimo įrankiu, ir tols dalykas vadinamas Email Injection.

    Kaip tai veikia galima pasiskaityti svetainėje http://securephp.damonkohler.com/index.php/Email_Injection.

    PHP manualas:

    Usage:
    bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )
    Purpose: Send mail
    Availability: PHP 3, PHP 4, PHP 5

    taigi kaip mažas pavyzdys, ką galima padaryti jei nedarai apsaugų.

    Įsivaizduokim kad be jokios validacijos padaryta programa, kuri turėtų isiųsti komentarą:

    <?php mail(“gavejas @ esu.as”,”Pavadinimas”,”Labas,ncia atsiliepmas.niki”,”From: siuntejas @ esu.asn”); ?>

    //nevalidavus tarkim eina

    <?php mail($_POST[‘gavejas’],$_POST[‘pavadinimas’],$_POST[‘[pavadinimas’],”From: $_POST[‘siuntejas’]n”); ?>

    Jeigu tarkim galima pagauti keisti gavėją, galima pridirbti štai ką:

    “gavejas @ anonymous.www%0ACc:gavejas2cc @ someothersite.xxx%0ABcc:gavehas3 @ grrrr.xxx, gavejas4 @ oooops.xxx”

    ir jau automatiškai prisidės papildomų gavėjų :)

    taigi nepamirškit pastudijuoti anksčiau minėta nuorodą ir daryti validavimą, kurį kartais gali pamiršti :)

     

    > home
  • Apie mane
  • Apklausos
  • Blogas
  • Lietblogs Search
  • Nuorodos
  • Reklama mano bloge
  • Search
  • Tags
  • Testas
  • Projektai
  • Kontaktuok
  • Archyvas