Di cosa ho bisogno per sviluppare un'estensione PHP in lampp?

0

In realtà ho a che fare con un problema nel mio sistema, devo consegnare il sistema ai client ed è stato costruito in PHP, JS, ShellScript e SQL.

Vorrei crittografare il codice o offuscarlo dagli occhi degli altri! Poi qualcuno della community mi ha parlato della creazione della mia estensione PHP, mi sembra un'ottima idea, dato che non sarà con il codice principale del sistema.

Ma ho un problema in questo modo, se un programmatore entra nelle estensioni e lo trova, tutto il duro lavoro è finito. Allora sono qui per chiedere di nuovo su questo argomento.

Qual è il modo migliore per nascondere la mia Business Logic da terze parti?

So che ci sono cose come IonCube, Zend Guard e molti altri. Ma sto cercando qualcosa che posso costruire da solo.

L'estensione PHP è la strada giusta da seguire? O qualche sistema Half SaaS, con dipendenze (Business Logic) in un server remoto?

Informazioni sull'ambiente

OS: Kernel Linux 2.6.37.1-1.2 - LAMPP (Apache 2.2, MySQL 5.5 PHP 5.3.8)

In php generalmente l'estensione si trova a /php/ext/ ma in lampp non ho idea di dove sia, ho appena trovato una cartella /opt/lampp/lib/php/extensions/ è quella giusta?

    
posta deepcell 25.11.2011 - 03:11
fonte

1 risposta

3

Quello che stai cercando di fare è comunemente noto come sicurezza attraverso l'oscurità , e generalmente non è una buona idea. Puoi trasformare parti del tuo codice PHP in estensioni PHP * se vuoi, ma la tua motivazione primaria dovrebbe essere l'efficienza e non la sicurezza, dato che ogni pezzo di codice compilato può ottenere avviato enginered con un decompilatore . Come Claude Shannon metti la cosa migliore: The enemy knows the system .

Ma se vuoi davvero farlo, uno dei modi più efficaci per farlo è HipHop di Facebook :

HipHop transforms your PHP source code into highly optimized C++ and then compiles it with g++ to build binary files. You keep coding in simpler PHP, then HipHop executes your source code in a semantically equivalent manner and sacrifices some rarely used features – such as eval() – in exchange for improved performance.

Zend Guard è in effetti commercializzato come uno strumento per proteggere il tuo codice dagli occhi dei privati:

Zend Guard (formerly Zend Encoder) protects your applications from reverse engineering and unauthorized customization by providing encoding and obfuscation. It further protects from unlicensed use and redistribution by providing comprehensive licensing support. This combined functionality makes software distribution worry free.

ma si parla solo di vendite, la codifica di Zend Guard è facilmente distrutta come quella di IonCube.

Certo, se riscrivi il tuo codice come estensioni, o lo trasformi e lo compili con HipHop, o lo codifichi e lo offuschi con Zend Guard, stai aggiungendo un ulteriore livello di sicurezza, un livello molto sottile, che probabilmente scoraggerà Novizio sviluppatori. Se vuoi davvero proteggere la tua proprietà intellettuale, dovresti affrontarla legalmente: consulta un avvocato e firma un contratto con i tuoi clienti prima di inviare il codice.

Ovviamente potresti avere alcune dipendenze dalla modalità saas, a patto che ciò non influenzi le prestazioni e l'efficienza del tuo prodotto finale. Se lo fai solo per motivi di sicurezza, fallo male.

* Scrivere estensioni è una cosa abbastanza complessa da fare, e c'è meno di una piccola documentazione per questo. Un buon punto di partenza è Extension Writing Parte I: Introduzione a PHP e Zend , in DevZone di Zend. Solo un suggerimento: devi avere familiarità con C e avere familiarità con il codice sorgente di PHP.

    
risposta data 25.11.2011 - 03:29
fonte

Leggi altre domande sui tag