Jump to content
php.lv forumi

php ātrums un drošība


osk

Recommended Posts

1) Vai ir kādas programmas, kas pārbauda php ātrdarbību? Kā var novērtēt vai uzmeistarotais skripts strādā ātri?

 

2) Un cik drošs ir php, t.i., vai php var no lapas kaut kā nocelt kāds cits? Vai var redzēt definēto mainīgo vērtības?

Link to comment
Share on other sites

1) Vai ir kādas programmas, kas pārbauda php ātrdarbību? Kā var novērtēt vai uzmeistarotais skripts strādā ātri?

 

2) Un cik drošs ir php, t.i., vai php var no lapas kaut kā nocelt kāds cits? Vai var redzēt definēto mainīgo vērtības?

13984[/snapback]

 

Drošība atkarīga no tevis paša cik pareizi tu rakstīsi skriptus (iesaku palasiities literatuuru), pašu php kodu lapas skatītājs nevar redzēt, ja webserveris ir nokonfigurēts kā vajag: ti. lai piemēram visi faili ar extensionu .php tiktu parsēti kaa php skripti, ja taa nebuus tev izvadīs visu plaintekstaa.

Link to comment
Share on other sites

Atbildēšu apgrieztā secībā, jo tā vieglāk:

2) Un cik drošs ir php, t.i., vai php var no lapas kaut kā nocelt kāds cits? Vai var redzēt definēto mainīgo vērtības?
Ja ir aizdomas / šaubas par paša koda drošību (teiksim tirgojamam .php) tad vispār pieņemts un izmantots risinājums ir .php kodu vienkārši kriptēt / encodēt / "kompilēt".

Populārākais encoder / decoder produkts ir Zend Encoder http://www.zend.com/store/products/zend-encoder.php un attiecīgi Zend Optimizer http://www.zend.com/store/products/zend-optimizer.php .

(ir arī citi piemēram no iOncube http://www.ioncube.com/sa_encoder.php )

 

Zend Optimizer ir bezmaksas un obligāti nepieciešams uz webservera kur uzlikti encodētie php skripti, savukārt Encoder ir maksas taču izmēģinājumam ir Trial versija.

 

šādi php skripti nav analizējami un maināmi pat fiziskas piekļuves gadijumā (tas ir ja kāds tiek pie webroot direktorijas vai teiksim ir salūzis webserveris un vairs nepārsē php). Jauki ir tas ka php strādā arī miksēta veidā. Proti gan encodētajos failus iespējams includēt normālas sources failus gan arī otrādi. Tādējādi klientam var atstāt maināmu sourci konfigurācijas failam, bet ja negribi rādīt savu CMS kodu to vienkārši encodē.

 

1) Vai ir kādas programmas, kas pārbauda php ātrdarbību? Kā var novērtēt vai uzmeistarotais skripts strādā ātri?

Šķiet, ka nekas jēdzīgs nav (un manuprāt nav arī īsti nevienā programmēšanas valodā un programmētājam / koderim tas pagaidām jāsaprot pašam).

Protams, ir dažādi webserveru noslodzes testēšanas rīki (kaut vai tas pats 'ab' kas nāk līdzi Apache), bet tas jau ir paša gala izvada ātrdarbības tests, līdz ar to nenosaka kura koda daļa / algoritms strādā lēnu. Tai pašā laikā ja arī ir iespējams piefiksēt cik konkrētā funkcija / cikls / operācija aizņem procesora laiku / atmiņu, tad nav iespējas softiskā veidā pateikt vai šis koda gabals ir optimāls un panākta maksimāla ātrdarbība (kad programmas sāks pašas uzlabot sevi tad šķiet sāksies cilvēces noriets :) ).

Ir zināmi daži fakti un paņēmieni kas ātrdarbību uzlabo vai tieši pretēji pasliktina taču nav rīka, kā vien paša sktiptotāja rociņas un tas kas galvā, lai to ieraudzītu.

Piekam lai saprastu vai tas ir ātri vai lēni ir ar kaut ko jāsalīdzina, taču tākā sistēmas uz kurām griežas paši procesi, kā arī skripti ir tik dažādi tad principā visu nosaka izjūta un reāla darbība.

Link to comment
Share on other sites

Nu lai parbauditu cik atri strada kods un salidzinatu izmanas pec koda redigeshanas, es izmantoju:

//Lapas sakuma: 
$timestart = microtime(); 

//Beigaas:
$timeend = microtime(); 
$diff = number_format(((substr($timeend,0,9)) + (substr($timeend,-10)) - (substr($timestart,0,9)) - (substr($timestart,-10))),4);

Pec tam tik jaizvada $diff vertiba.

Nezinu cik pats tas kods efektivs, varbut ir labaks variants.

Link to comment
Share on other sites

Ja ar angļu valodu ir ok, silti iesaku palasīt

PHP Security Guide.

Tur ir diezgan daudz labu padomu iesācējiem, un ne tikai.

13995[/snapback]

 

Apskatijos! Daudz kas bija jau zinams (nekur nelasit, bet vienkarshi logjiski), bet vot nesaprotu, kapec vinji tur piemeros rada, ka izmanto failus ar paplashinajumu ".inc" - kur tad tur droshiba, ka var nolasit plain texta kodu! Diez vai tas, ka kodu var izlasit jebkursh, kursh zin faila nosaukumu butu dizha droshiba!

Link to comment
Share on other sites

//Lapas sakuma: 
$timestart = microtime(); 

//Beigaas:
$timeend = microtime(); 
$diff = number_format(((substr($timeend,0,9)) + (substr($timeend,-10)) - (substr($timestart,0,9)) - (substr($timestart,-10))),4);

Pec tam tik jaizvada $diff vertiba.

Nezinu cik pats tas kods efektivs, varbut ir labaks variants.

14027[/snapback]

 

Un es domāju ka mans

$start=array_sum(explode(' ',microtime()));
$end=array_sum(explode(' ',microtime()))-$start;

variants ir nelasāms "parastiem mirstīgiem"

Link to comment
Share on other sites

×
×
  • Create New...