Es posible la conversión de un archivo PHP a binario y se implementa en un servidor web?

  • ¿Qué significa convertir a binario? PHP es un lenguaje interpretado, es decir, leer línea por línea y ejecutados (aproximadamente.) No es compilado en un archivo binario, como C, basta con colocar el archivo en un directorio web y permitir al usuario acceder a él; por supuesto, el servidor web debe estar ejecutando PHP.
  • Desea cifrar el código fuente y distribuir como un ejecutable, de modo que nadie puede robar y modificar el código para su reutilización, a la derecha?
  • vamos, de verdad .. que puedo hacer un mejor trabajo de hacer una pregunta ? .. ni idea de qué estás tratando de hacer
  • si tu objetivo es lo que @Salman Una dice que usted debe utilizar Zend Guard(zend.com/en/products/guard)
InformationsquelleAutor Hulk | 2009-12-04

5 Comentarios

  1. 20

    Ya que PHP es un (relativamente)portable idioma, la compilación de PHP de código fuente a código de bytes en lugar de que el código binario es más preferible. Para este propósito hay un proyecto experimental llamado bcompiler.

    • Gracias…………………….
    • También hay roadsend, que (creo) es el uso de piezas de phpc después de que se abandonó el esquema.
    • la aps es una especie de dolor a instalar, y roadsend parece ser más lenta que la ejecución de archivos a través del intérprete de php.
    • Una vez que usted utilice pecl herramienta de línea de comandos para instalar bcompiler en PHP, puede usar bencoder como una secuencia de comandos para codificar un archivo o un directorio completo (y subdirectorios) de todos los archivos PHP, así como copiar en un nuevo dir sin codificar todos los archivos. Usted puede encontrar que usted no necesita IonCube en ese caso. Pero esto es experimental, por favor, prueba de que toda la funcionalidad que todavía funciona.
  2. 12

    Hace unos meses busqué por ello (el código php de la protección o la protección de secuencias de comandos) y mis resultados fueron:

    Me proporcione una descripción, pero tratar de google y que me perdonen.

    Ser cuidadoso con su búsqueda, porque usted puede encontrar a php compresores lugar y los compresores son sólo acerca de GZIP y otros http transferencia de compresión de los mecanismos.

    Las cuestiones más importantes con php script protección de herramientas son:

    1. Cuánto velocidad de php en tiempo de ejecución el rendimiento va a bajar(down) (¿cuánta velocidad hacia abajo)

    2. Vamos a necesitar un extra de medio ambiente o instalar herramientas en el servidor php?

    3. Fácil manejo

    Encontrará alrededor de toda la descripción y la comparación en: http://www.seocompany.ca/software/free-encryption-software.html

    Obfuscators

    Un montón de obfuscators encontrará en la web, pero no hay ninguna garantía para sus códigos de trabajo.

    Incluso he encontrado un modo mixto con Visual C++ y MSVS para camuflar el php y porque también tengo experiencia con asp.net he probado pero no funciona.

    Convertidores y Armarios

    • de iones protector (http://www.ioncube.com/): Oh, no es gratis pero he oído de muchos acerca de su famoso nombre

    • atención primaria de la salud (php compilador): libre y fue un buen caso, pero «Brendan Largo», dijo la verdad, porque la aps tiene un doloroso instalar manera. Sin embargo el resultado es mágico y tiene nombre de famosos tales como iones de

    • php armario: yo lo tengo y lo prueba. Había error con el código compilado y editado por menor de php5. No absolutamente libre y para que el pensamiento acerca de ccr-ac*ks encontrando para php armario es imposible.

    • Zend Guard: Una manera perfecta de guardia, pero es más difícil de atención primaria de la salud o de iones debido a que usted necesita Zend entorno de tiempo de ejecución (ZRE) en el servidor y Zend Guard es absolutamente no-libre, sin embargo, si usted es un Zend chico (zend framework+zend IDE+zend Guard) que usted debe saber Zend Guard es compatible con zend IDE y el código de bloqueo del proceso va a ser tan fácil. Yo no soy un Zend chico porque cualquiera de zend framework y zend guard bajar de tiempo de ejecución de la velocidad, obviamente. Me encanta php acelerado en tiempo de ejecución.

    • php -> C/C++ compiling (SÍ ES POSIBLE) (el MEJOR RENDIMIENTO a TRAVÉS de EL MUNDO): no Es tan famoso que es normal que si nadie habla.

    • facebook hiphop: Esta herramienta es el uso de facebook para compilar archivos php en c++/c para obtener un mejor rendimiento, sin embargo, finalmente, tenemos ilegible compilado de los códigos. Yo no recuerdo pero creo que se necesita un buen conocimiento para linux o sobre php compilar mecanismo de Microsoft Visual C++. (Sin embargo, NO CONFÍA en mi memoria débil y google) (Y PARA APRENDER ACERCA de RECOMPILAR PHP MANERA PLZ CONSULTE la versión más reciente de php_manual.chm)

    Finalmente me hizo mi auto simple php obfuscator el uso de expresiones regulares que trabajó en php 5.3 y mi secuencias de comandos complejas de lo que pasó OpenSSL y diferentes mecanismos de cifrado y consiguió una revisión en php desarrollo seguro.

    Que deseen ser exitosas.

  3. 4

    Esta es la forma atrasado pero debe hacer lo que quiera.

    Hacer su propia extensión personalizada con el motor zend como compilar una dll de c++. Añadir que el archivo dll al ext ubicación en el directorio de php. Después de que usted puede llamar a su propio scripts de php como de las funciones de php. Tenga en cuenta que php es el lado del servidor sólo lo que nadie puede obtener su secuencia de comandos a menos que se copian desde el servidor y se entregaron.

    Descarga de la fuente php de la biblioteca para la versión que tienes. [windows.php.net] El zend cosas que usted necesita estará incluido.

    El paso 1. Crear un nuevo proyecto y seleccione «General» en Visual C++ y el vacío de la opción de proyecto.
    Darle un nombre y haga Clic en aceptar. La mía es Project1 así que voy a estar usando eso.

    El paso 2. Haga clic en el nombre de la solución y seleccione propiedades. Seleccione Biblioteca Dinámica (.dll) en Virtud de los valores Predeterminados del Proyecto/Tipo de Configuración en las Propiedades de Configuración/General artículo. Asegúrese de que está cambiando la Depuración de configuración como la Liberación no se utiliza.

    El paso 3. En virtud de VC++ Directiories agregue lo siguiente en el se Incluyen las bibliotecas:
    C:\php-7.1.8-src\Zend
    C:\php-7.1.8-src\win32
    C:\php-7.1.8-src\TSRM
    C:\php-7.1.8-src\main
    C:\php-7.1.8-src
    Bibliotecas:
    C:\php-7.1.8\dev

    El paso 4. En C/C++ Preprocesador agregar ZEND_DEBUG=0;ZTS=1;ZEND_WIN32;PHP_WIN32 a las Definiciones del Preprocesador

    El paso 5. En el Vinculador de Entrada agregar php7ts.lib. Esta debe coincidir con la lib para su versión de php

    Haga clic en aceptar para guardar la configuración de la Propiedad para su solución.

    Ahora vamos a agregar un archivo de código para su función (Project1)

    Bajo la carpeta de archivos de origen de la derecha y haga clic en agregar Código. Me llama la mina Project1.cpp y aquí está la fuente. Tendrás que renombrar el archivo config.w32.h.en config.w32.h y la copia de los directorios donde se necesita. Intellisense debe decirle donde está mirando y config.w32.h.es en el C:\php-7.1.8-src\win32 directorio.

    //this needs to match the compiler version that php was compiled with
    #define _CRT_SECURE_NO_WARNINGS
    #define PHP_COMPILER_ID "VC14"
    
    #pragma once
    /* You must include config.w32.h first */
    #include "win32/config.w32.h"
    
    #include "php.h"
    
    ZEND_FUNCTION(ReturnString);
    
    zend_function_entry Project1_functions[] =
    {
        ZEND_FE(ReturnString, NULL)
        {
            NULL, NULL, NULL
        }
    };
    
    zend_module_entry Project1_module_entry =
    {
        STANDARD_MODULE_HEADER,
        "Project1 Module",
        Project1_functions,
        NULL, NULL, NULL, NULL, NULL,
        NO_VERSION_YET, STANDARD_MODULE_PROPERTIES
    };
    
    ZEND_GET_MODULE(Project1)
    
    ZEND_FUNCTION(ReturnString)
    {
        zval* value;
    
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &value) == FAILURE)
        {
            RETURN_FALSE;
        }
    
        convert_to_string(value);
    
        RETURN_STRING(Z_STRVAL_P(value), true);
    }

    Presione F7 para compilar y debe crear Project1\Debug\Project1.dll. Copia de Project1 a su directorio ext C:\php-7.1.8\ext y añadir un extension=Project1.dll a su php.ini y usted debe ser bueno para ir. Si esto no funciona, revise sus propiedades para asegurarse de que usted no pierda de algo.

    The script is quite simple:
    
    <?php
    echo ReturnString("The Returning String");
    ?>
    • Hay una opción para el almacenamiento en caché de php de código de bytes de fin de comprobar de cerca de la parte inferior de tu php.ini para el [opcache] configuración.
  4. 1

    Si el servidor web está basado en Linux, puede crear un paquete como .deb o .rpm (dependiendo de la distribución de Linux) y distribuir fácilmente/implementarlo.

    BR,
    Dawid.

    • ¿Alguna vez has leído la pregunta?
    • No es una mala respuesta. La cuestión parece estar preguntándose: «¿Cómo puedo convertir de archivos php en un programa distribuible».
    • Convertir un archivo PHP dentro de un archivo binario no es el mismo de la conversión de un archivo PHP dentro de un programa distribuible.
    • Bueno, obviamente la cuestión no es que claro. Pero parece que se necesita un servlet como en el enfoque.
  5. 1

    Depende de lo que entendemos por «binario».

    Si quieres compilar (o simplemente ocultar) el código de PHP para mantener a alguien de modificar, a continuación, utilizar un compilador de bytecode. Un ejemplo son las herramientas de Zend, entre otros. (Yo prefiero de Zend herramientas, ya que el principal de la compañía detrás de PHP y totalmente QA todas sus herramientas en contra de todas las versiones de PHP).

    Si quieres compilar el código PHP y el enlace de PHP en tiempo de ejecución y, a continuación, implementar (como C\C++), entonces no. Tal vez, en teoría, que sería posible, pero sería un desastre. (No es práctico ni viable y no creo que nadie ha puesto nada juntos para probar y el resultado también sería atado a una arquitectura en particular).

    • Gracias…………………….
    • Acerca de …………………. demasiados puntos.

Dejar respuesta

Please enter your comment!
Please enter your name here