Kompileret PHP tilbage til text?

Tags:    php

<< < 12 > >>
Er det muligt at lave kompileret PHP kode tilbage til den "forståelige" tekst den var før den blev "compiled"?
Mvh.
Rune Jensen
---------------------------------------------------------------------------
##The one who laugh last is the one who think slowest!##
---------------------------------------------------------------------------



Okay, lad os lige slå en ting fast: Decompilation er ikke pr. definition ulovligt, men de fleste EULA'er forbyder det.

PHP *bliver* compileret under parsingen, ligesom alle scriptsprog, men det giver ikke mening at snakke om at decompile det, da det er et scriptsprog.

Og ydermere ville du ikke nødvendigvis kunne få uendelig UP ved at se Udvikleren.dk's kode, kun hvis der var sikkerhedsfejl - adgang til kildekoden betyder ikke at du på magisk vis kan dominere systemet totalt. ;-)




Jeg har nu ligegodt aldrig hørt om en live compilering!! Det de fleste her påstår er at PHP blive compilet live!! Derfor er PHP et interpreter sprog der bliver sendt live til klienten, efterhånden som det bliver parset!!! Og sådan er det... Ikke nogen dikution faktisk!

MH.

The-Freak

Livet er for kort til at kede sig.




Jeg har nu ligegodt aldrig hørt om en live compilering!! Det de fleste her påstår er at PHP blive compilet live!! Derfor er PHP et interpreter sprog der bliver sendt live til klienten, efterhånden som det bliver parset!!! Og sådan er det... Ikke nogen dikution faktisk!

MH.

The-Freak

Livet er for kort til at kede sig.


Så har du ikke hørt godt nok efter. ;-)

Parsing i sig selv gør intet andet end at analysere koden syntaktisk, C-kode skal også parses, og derefter kompileres hvert udtryk og evt. output sendes til klienten. Det er ret simpelt. Andre 'script'-sprog som ELISP og Python bliver også kompileret under kørsel.




Jeg har nu ligegodt aldrig hørt om en live compilering!! Det de fleste her påstår er at PHP blive compilet live!! Derfor er PHP et interpreter sprog der bliver sendt live til klienten, efterhånden som det bliver parset!!! Og sådan er det... Ikke nogen dikution faktisk!

MH.

The-Freak

Livet er for kort til at kede sig.

Så har du ikke hørt godt nok efter. ;-)

Parsing i sig selv gør intet andet end at analysere koden syntaktisk, C-kode skal også parses, og derefter kompileres hvert udtryk og evt. output sendes til klienten. Det er ret simpelt. Andre 'script'-sprog som ELISP og Python bliver også kompileret under kørsel.


Der er så bare lige ingen af de scriptsprog du har nævnt der sendes live til en browser...

MH.

The-Freak

Livet er for kort til at kede sig.







Indlæg senest redigeret d. 12.05.2009 02:58 af Bruger #3530
Der er så bare lige ingen af de scriptsprog du har nævnt der sendes live til en browser...


Det er jeg ked af at høre, mod_python er ellers ganske populært.

@KasperTech:

Kun hvis MySQL-serveren godtager udefrakommende forbindelser. Og selv da, så er passwords ikke en del af kildekoden, men snarere en del af konfigurationen.





Hvis du vil have et bevis, så hent PHP. Gem det i en mappe. Åben så en command prompt, og cd dig til mappen med PHP... Lav en php fil med noget i. Det skal være valid kode. Skriv så "php dinfil.php" (Erstat dinfil.php med filnavnet, og skriv det uden gåseøjne). Nu får du noget output fra PHP... Apache gør praktisk talt det samme. Dette sender den så til klienten. Ergo er PHP ikke kompileret!!!

PS. Kan ikke huske hele fremgangsmåden, men det er noget lign det der... PHP skal muligvis have en eller anden parameter der får den til at printe det til stdout(Konsollen)

MH.

The-Freak

Livet er for kort til at kede sig.



Ergo er PHP ikke kompileret!!!


Jeg håber virkelig du siger dette for sjov...

PHP bliver kompileret af parseren, FØR den genererer output! Det sker INTERNT i programmet, hvordan havde du ellers troet at det skulle virke?

Du behøver ikke kompilere PHP for at afvikle det, idet PHP-fortolkeren udfører kompilationen i real-time.




Ergo er PHP ikke kompileret!!!

Jeg håber virkelig du siger dette for sjov...

PHP bliver kompileret af parseren, FØR den genererer output! Det sker INTERNT i programmet, hvordan havde du ellers troet at det skulle virke?

Du behøver ikke kompilere PHP for at afvikle det, idet PHP-fortolkeren udfører kompilationen i real-time.


Det PHP parseren gør er:
if (Kommando == EnTing) {
GørEnTing;
} else if (Kommando == EnAndenTing) {
GørEnAndenTing;
}

Hvis du kalder det for kompilering så lad gå, men det er altså ikke rigtig kompilering!

MH.

The-Freak

Livet er for kort til at kede sig.



Ergo er PHP ikke kompileret!!!

Jeg håber virkelig du siger dette for sjov...

PHP bliver kompileret af parseren, FØR den genererer output! Det sker INTERNT i programmet, hvordan havde du ellers troet at det skulle virke?

Du behøver ikke kompilere PHP for at afvikle det, idet PHP-fortolkeren udfører kompilationen i real-time.


Det PHP parseren gør er:
if (Kommando == EnTing) {
GørEnTing;
} else if (Kommando == EnAndenTing) {
GørEnAndenTing;
}

Hvis du kalder det for kompilering så lad gå, men det er altså ikke rigtig kompilering!

MH.

The-Freak

Livet er for kort til at kede sig.


LOL!!! Vi har begge to delvist ret!!!

PHP 3 tolker koden real-time, mens PHP 4 kompilere og starter den!! Ergo har vi begge ret ;)... Hehe

MH.

The-Freak

Livet er for kort til at kede sig.



<< < 12 > >>
t