Foros del Web » Programando para Internet » PHP »

Competencias PHP

Estas en el tema de Competencias PHP en el foro de PHP en Foros del Web. Bueno yo tengo conocimientos avanzados puedo aportar en cosas que los novatos ni se imaginan que pueden hacer.. asi que me avisan no mas...

  #541 (permalink)  
Antiguo 29/12/2011, 14:28
Avatar de ilen  
Fecha de Ingreso: febrero-2009
Mensajes: 125
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Competencias PHP

Bueno yo tengo conocimientos avanzados puedo aportar en cosas que los novatos ni se imaginan que pueden hacer.. asi que me avisan no mas
  #542 (permalink)  
Antiguo 29/12/2011, 15:13
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 13 años, 4 meses
Puntos: 37
Respuesta: Competencias PHP

Cita:
Iniciado por iovan Ver Mensaje

Si se utiliza un algoritmo para encriptar el código fuente cambiando palabras, remplazando caracteres por otros diferentes o representarlos en hexadecimal como esto: http://pastebin.com/94XPs4g7 , nos vemos obligados a utilizar el mismo algoritmo para desencriptarlo, esto nos regresa a la cuestión en la que el código fuente de nuestro desarrollo se ve amenazado de nuevo.

Creo que realmente no hay una forma que garantice que el cliente no podrá obtener jamás el código fuente de la aplicación, pero seguramente si le podemos estorbar bastante, hacerlo que se aburre y nos deje en paz. Y podamos conciliar el sueño tranquilamente =D
Hola iovan. Una buena idea es ubicar todos los caracteres en un array, para asociar cada uno con un indice del array arbitrariamente. Luego se sustituye cada carecter por su indice correspondiente. De esa forma para desencriptar se necesita tener el mismo array clave que se usó para encriptar.

Por cierto, pudiste hacer el reto de los triángulos completo en PHP?

Saludos.
__________________
Los hombres pequeños, nunca se sienten pequeños; los hombres grandes, nunca se sienten grandes.

No sé quien fué el que dijo eso, pero está bueno.
  #543 (permalink)  
Antiguo 29/12/2011, 15:53
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 17 años, 3 meses
Puntos: 188
Respuesta: Competencias PHP

Triby ciertamente me gusta el reto que has elegido, en unas horas salgo de viaje me llevare el laptop para hacer algo de esto, sabes para las salidas de texto podriamos utilizar 1337 35P34|< haha digo, solo por diversion xD.

Jorge: he, el reto de los triangulos que propones yo lo veo como hacer alguno que otro calculo sencillo, de hecho muy sencillo. Recuerdas el producto cruz y el producto punto, tu puedes verificar paralelismo o perpendicular entre 2 puntos (x,y,z) y determinar si es posible construir el triangulo. Por eso ni lo intente codificar, jeje a mi se me hace que te lo dejaron de tarea en la escuela verdad? :) jeje, un saludo
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #544 (permalink)  
Antiguo 29/12/2011, 20:32
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 13 años, 4 meses
Puntos: 37
Respuesta: Competencias PHP

Cita:
Iniciado por iovan Ver Mensaje
Triby ciertamente me gusta el reto que has elegido, en unas horas salgo de viaje me llevare el laptop para hacer algo de esto, sabes para las salidas de texto podriamos utilizar 1337 35P34|< haha digo, solo por diversion xD.

Jorge: he, el reto de los triangulos que propones yo lo veo como hacer alguno que otro calculo sencillo, de hecho muy sencillo. Recuerdas el producto cruz y el producto punto, tu puedes verificar paralelismo o perpendicular entre 2 puntos (x,y,z) y determinar si es posible construir el triangulo. Por eso ni lo intente codificar, jeje a mi se me hace que te lo dejaron de tarea en la escuela verdad? :) jeje, un saludo
JaJaJa. No hermano yo ya hace como 10 años que no piso una escuela jajaja. Bueno, realmente yo advertí que era un reto para novatos, pero parece que los novatos no se animan. Tal vez para tí el reto no sea simplemente comprobar si se puede hacer el triángulo, sino hacerlo de una forma mas resumida y funcional posible. Ya te digo que el sunto tiene sus cosas. Teoricamente es un pastelito desde la matemática, pero a la hora de evaluar variantes y convertir eso en un código totalmente funcional, entran a jugar más de un principio. Todavía voy a esperar un poco a ver si algún novato se anima, si nó, yo mismo pongo la solución y tú me dices después si conoces una forma de hacerlo mas optimizada.

Aquí reitero el reto: NOVATOS ANIMENSE QUE LOS MAESTROS SE ABURREN!!!!!
Se trata de, entradas las coordenadas x,y de tres puntos, evaluar si se puede construir un triángulo con ellos. Y hacerlo de la forma mas sencilla posible.

Que pasa, que no hay novatos por acá?

Saludos.
__________________
Los hombres pequeños, nunca se sienten pequeños; los hombres grandes, nunca se sienten grandes.

No sé quien fué el que dijo eso, pero está bueno.
  #545 (permalink)  
Antiguo 30/12/2011, 09:00
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 17 años, 3 meses
Puntos: 188
Respuesta: Competencias PHP

Yo soy noob :D

La manera mas fácil es hacer segmentos dirigidos entre los 3 vértices respecto a 1 punto y obtener el área utilizando producto cruz, Si el area es igual a 0 se trata de una recta si es diferente se trata de un triangulo.

PHP:

Código PHP:
Ver original
  1. <?php
  2.  
  3. function magnitud($c){
  4.     return sqrt( ($c[0]*$c[0])+($c[1]*$c[1])+($c[2]*$c[2]) );
  5. }
  6.  
  7. function getVector($A,$B){
  8.     $cadena = ($B[0] - $A[0]).",".($B[1]-$A[1]).",".($B[2]-$A[2]);
  9.     return preg_split("/,/", $cadena);
  10. }
  11.  
  12. function esTriangulo($A,$B,$C){
  13.     //¿Es el mismo punto?
  14.     $equals = ($A==$B OR $A==$C OR $B==$C) ? true : false;
  15.     if($equals) return false;
  16.    
  17.     //Obtengo los puntos
  18.     $A = preg_split("/,/", $A);
  19.     $B = preg_split("/,/", $B);
  20.     $C = preg_split("/,/", $C);
  21.    
  22.     $vector1 = getVector($A, $B);
  23.     $vector2 = getVector($A, $C);
  24.    
  25.    
  26.     $i = $vector1[1]*$vector2[2] - $vector2[1]*$vector1[2];
  27.     $j = ($vector1[0]*$vector2[2] - $vector2[0]*$vector1[2])*-1;
  28.     $k = $vector1[0]*$vector2[1] - $vector2[0]*$vector1[1];
  29.    
  30.     $area_total = (magnitud(preg_split("/,/", $i.",".$j.",".$k))/2);
  31.    
  32.     if($area_total==0) return false; else return true;
  33. }
  34.  
  35. $A = "3,1,4";
  36. $B = "3,3,4";
  37. $C = "3,8,4";
  38.  
  39. if(esTriangulo($A, $B, $C)) echo "Si es un triangulo";
  40.     else echo "No es un triangulo";
  41. ?>

Feliz año nuevo un saludo y fuerte abrazo atodos mis amigos de ForosDelWeb. Nos vemos el 3 de Enero. Be Happy everybuddy!
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #546 (permalink)  
Antiguo 30/12/2011, 12:53
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Competencias PHP

xq en el foro de css si hay un tema de competencias y en el de php no??

Yo tengo una propuesta xq no ponemos un ejemplo simple de algo y entre todos lo intentamos mejorar lo mejor que podamos

como x ejemplo un formulario

el ejercicio seria añadir toda la seguridad posible por ejemplo (es tan solo un ejemplo, podrian ser cosas diferentes y/o mas complicadas , un sistema de usuarios , sistemas de noticias etc....), yo creo que esto seria muy interesante a nivel de seguridad que creo que hoy por hoy es muy importante

saludos y feliz año f18'

Última edición por webankenovi; 30/12/2011 a las 13:08
  #547 (permalink)  
Antiguo 30/12/2011, 20:36
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 7 meses
Puntos: 1517
Respuesta: Competencias PHP

La idea es algo que no lleve tantas cosas y no mucho tiempo. El de ofuscar el codigo es interesante ya que se puede hacer de diversas formas y de arreglarlo (no sé como decirlo ¿desofuscar?)
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #548 (permalink)  
Antiguo 30/12/2011, 22:03
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 10 meses
Puntos: 177
Respuesta: Competencias PHP

En concreto, Hay que crear una función que Ofusque y que sea reversible ?
__________________
la la la
  #549 (permalink)  
Antiguo 31/12/2011, 02:11
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 13 años, 4 meses
Puntos: 37
Respuesta: Competencias PHP

Cita:
Iniciado por iovan Ver Mensaje
Yo soy noob :D

La manera mas fácil es hacer segmentos dirigidos entre los 3 vértices respecto a 1 punto y obtener el área utilizando producto cruz, Si el area es igual a 0 se trata de una recta si es diferente se trata de un triangulo.

PHP:

Código PHP:
Ver original
  1. <?php
  2.  
  3. function magnitud($c){
  4.     return sqrt( ($c[0]*$c[0])+($c[1]*$c[1])+($c[2]*$c[2]) );
  5. }
  6.  
  7. function getVector($A,$B){
  8.     $cadena = ($B[0] - $A[0]).",".($B[1]-$A[1]).",".($B[2]-$A[2]);
  9.     return preg_split("/,/", $cadena);
  10. }
  11.  
  12. function esTriangulo($A,$B,$C){
  13.     //¿Es el mismo punto?
  14.     $equals = ($A==$B OR $A==$C OR $B==$C) ? true : false;
  15.     if($equals) return false;
  16.    
  17.     //Obtengo los puntos
  18.     $A = preg_split("/,/", $A);
  19.     $B = preg_split("/,/", $B);
  20.     $C = preg_split("/,/", $C);
  21.    
  22.     $vector1 = getVector($A, $B);
  23.     $vector2 = getVector($A, $C);
  24.    
  25.    
  26.     $i = $vector1[1]*$vector2[2] - $vector2[1]*$vector1[2];
  27.     $j = ($vector1[0]*$vector2[2] - $vector2[0]*$vector1[2])*-1;
  28.     $k = $vector1[0]*$vector2[1] - $vector2[0]*$vector1[1];
  29.    
  30.     $area_total = (magnitud(preg_split("/,/", $i.",".$j.",".$k))/2);
  31.    
  32.     if($area_total==0) return false; else return true;
  33. }
  34.  
  35. $A = "3,1,4";
  36. $B = "3,3,4";
  37. $C = "3,8,4";
  38.  
  39. if(esTriangulo($A, $B, $C)) echo "Si es un triangulo";
  40.     else echo "No es un triangulo";
  41. ?>

Feliz año nuevo un saludo y fuerte abrazo atodos mis amigos de ForosDelWeb. Nos vemos el 3 de Enero. Be Happy everybuddy!
Saludos iovan y feliz año nuevo para tí también. Que bueno que te animaste a hacer el reto de los triángulos. Yo lo resolví de esta forma:

Se parte del principio de proporcionalidad que existe entre los puntos de una misma recta.
O sea que si tres puntos (x1,y1) , (x2,y2) y (x3,y3) están alineados, pertenecen a una misma recta,
por lo que hay una relación proporcional entre las diferencias entre las x o las y del dichos punto y
las distancias lineal entre ellos (esto se ilustraría mejor en una gráfica).
Por este principio, si los puntos están alineados se cumple que:

(x2-x1)/distancia(p2:p1)=(x3-x1)/distancia(p3:p1)

donde la distancia($p2:p1) se expresa:

sqrt(pow($x2-$x1,2)+pow($y2-y1,2))

y la distancia($p3:p1) se expresa:

sqrt(pow($x3-$x1,2)+pow($y3-y1,2))

Luego, si se cumple esto es porque los tres puntos están alineados, por lo cual es imposible construir
el triángulo.

La implementación de la función evaluadora:

Código PHP:
Ver original
  1. function Triangulo($x1,$y1,$x2,$y2,$x3,$y3){
  2.   $result=false;  
  3.   if(!($x1==$x2 && $y1==$y2) || ($x2==$x3 && $y2==$y3) || ($x3==$x1 && $y3==$y1)){
  4.       $result=!(($x1-$x2)/sqrt(pow($x1-$x2,2)+pow($y1-$y2,2))==($x1-$x3)/sqrt(pow($x1-$x3,2)+pow($y1-$y3,2)));
  5.   }
  6.   return $result;
  7. }

Y listo, devuelve true si el triángulo es posible, si no, devuelve false.

Feliz año nuevo para todos.
__________________
Los hombres pequeños, nunca se sienten pequeños; los hombres grandes, nunca se sienten grandes.

No sé quien fué el que dijo eso, pero está bueno.
  #550 (permalink)  
Antiguo 31/12/2011, 02:13
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 13 años, 4 meses
Puntos: 37
Respuesta: Competencias PHP

Disculpen mi ignorancia pero no comprendo bien a que se refieren con ofuscar el código. Se trata de encriptarlo o algo así?
__________________
Los hombres pequeños, nunca se sienten pequeños; los hombres grandes, nunca se sienten grandes.

No sé quien fué el que dijo eso, pero está bueno.
  #551 (permalink)  
Antiguo 31/12/2011, 02:26
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 7 meses
Puntos: 322
Respuesta: Competencias PHP

La ofuscación de código consiste en convertir el código a algo 'inentendible' o 'ilegible' para un simple mortal
Mira ésta página, pon algún código de ejemplo:
http://jcarlosrendon.morelosplaza.co.../ofuscador.php
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #552 (permalink)  
Antiguo 31/12/2011, 09:57
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 17 años, 3 meses
Puntos: 188
Respuesta: Competencias PHP

O ya jeje todo el tiempo te referias a x,y yo pense que te faltaba la z, jeje. Bueno para trabajar en el plano donde solo hay ordenada y abscisa se puede hacer.

Sacar pendiente ecuacion de la recta usando 2 puntos, despues verificar si el otro punto existe en la recta si es asi se trata de una recta unica en caso contrario un triangulo. Esta solucion sale en una linea y no es necesario ocupar un for recorriendo todos los puntos proporcionales, esto ultimo ocupa mas recursos del servidor.
Huy hay montones de soluciones para estos problemas jeje.

:........................

Ofuscar codigo es una tecnica inventada hace muchos años por alguien llamado ( no recuerdo en wikipedia a de estar) jejeje. Es broma.

Realmente ofuscar codigo si es una tecnica cuyo objetivo es dificultar la compresion de un codigo.

Saludos.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #553 (permalink)  
Antiguo 31/12/2011, 13:58
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 13 años, 4 meses
Puntos: 37
Respuesta: Competencias PHP

Hola iovan y sourcegeek. Entonces ofuscar es algo así como barajear las cartas de forma que luego puedas volverlas a dejar como estaban jejeje, me gusta eso. Lo voy a intentear. Se vale cualquier cosa verdad? Hasta la idea mas macabra, con tal de que el código quede ilegible y sea reversible? Se me ocurre disponer el código en una tabla con igual cantidad de filas y columnas (array bidimensional), un caracter por cada celda. Se podría ilustrar como un "mosaico de caracteres". Luego lo invertimos vertical y/o horizontalmente, le aplicamos rotación en 90 grados o ambas cosas y recomponemos el texto a ver como queda. Para revertirlo lvolvemos a hacer todos los procedimientos en orden inverso, recomponemos el texto y ya tenemos al código de vuelta. Voy a probarlo a ver como sale. Se podría incluso crear una clase con opciones para usar distintos procedimientos, que se puedan mezclar y combinar para lograr diferentes métodos de afuscamiento.

Saludos.
__________________
Los hombres pequeños, nunca se sienten pequeños; los hombres grandes, nunca se sienten grandes.

No sé quien fué el que dijo eso, pero está bueno.

Última edición por jorgelpadronb; 31/12/2011 a las 14:12
  #554 (permalink)  
Antiguo 31/12/2011, 14:33
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 7 meses
Puntos: 322
Respuesta: Competencias PHP

Pues sí, hay que intentar de todo
Eso sí, la ofuscación en sí no debe poderse 'desofuscar', pero como es un reto, hay que hacerlo que sí se pueda

Saludos
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #555 (permalink)  
Antiguo 31/12/2011, 17:18
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 10 meses
Puntos: 177
Respuesta: Competencias PHP

sería bueno que alguien, plantee el desafio formalmente , con reglas y condiciones, no?
Podría ser el maestro Triby ya que la idea fue de él.
__________________
la la la
  #556 (permalink)  
Antiguo 31/12/2011, 19:02
 
Fecha de Ingreso: diciembre-2011
Mensajes: 4
Antigüedad: 13 años
Puntos: 2
Respuesta: Competencias PHP

No les da la sensación que a nadie le importa dar un desafío?

Es lamentable porque si estamos aquí es para aprender y de eso se trata un desafío.

Esto que proponen es muy pero muuuuy bueno para aprender entre todos.

Ayer postee un tema sobre el desarrollo de un sistema el cual fue removido a otra sección de ForosDelWeb.

http://www.forosdelweb.com/f143/propuesta-realizacion-sistema-967160/

Pienso que es una gran pérdida porque nadie le dará (perdonen la expresión) “bolas” en donde fue a parar!!! …Porque los amantes de PHP estamos aquí en f18 de forosdelweb.

Así que propongo hacer un detector de usuarios tomando como pista su forma de teclear.

Sí que es loco no?

No, déjenlo es un poco de bronca simplemente porque removieron mi tema.

Saludos y feliz año nuevo para todos!!! ...Que el que viene...venga con muchísimos temas más para forosdelweb un gran sitio para los programadores Web.

Última edición por PepePlus; 31/12/2011 a las 20:00 Razón: Puse forosldelweb y es forosdelweb
  #557 (permalink)  
Antiguo 31/12/2011, 20:19
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 7 meses
Puntos: 322
Respuesta: Competencias PHP

Estás en un error.
Aquí se discuten temas de código y todo eso, no cosas sobre planeación de proyectos y esas ideas, mucho menos si se trata de buscar colaboraciones o un grupo de trabajo, como tú lo hiciste o diste a entender en tu post.

Saludos
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #558 (permalink)  
Antiguo 01/01/2012, 01:50
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 13 años, 4 meses
Puntos: 37
Respuesta: Competencias PHP

Cita:
Iniciado por Sourcegeek Ver Mensaje
Pues sí, hay que intentar de todo
Eso sí, la ofuscación en sí no debe poderse 'desofuscar', pero como es un reto, hay que hacerlo que sí se pueda

Saludos
Hola sourcegeek. Ahora tu comentario me confunde un poco, pues no le hallo mucho sentido al asunto. O sea, quien querría ofuscar un código para después no poderlo recuperar? No se, sería como para destruirlo más que para protegerlo. Tal vez si dijéramos que el proceimiento de recuperación solamente lo domine la persona que lo ofuscó ya la cosa es diferente. Así si sería lógico. Sería algo como "Yo lo estropeo para protegerlo porque solo yo lo puedo arreglar". Pero si la destrucción no es reversible de ninguna forma, entonces no le veo mucho sentido práctico al asuntico de la "ofuscadera" jejeje.

Saludos.
__________________
Los hombres pequeños, nunca se sienten pequeños; los hombres grandes, nunca se sienten grandes.

No sé quien fué el que dijo eso, pero está bueno.
  #559 (permalink)  
Antiguo 01/01/2012, 04:29
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 7 meses
Puntos: 322
Respuesta: Competencias PHP

El, digamos, significado principal de la ofuscación es evitar que sea recuperable, ésto para proteger código de aplicaciones que por ejemplo vayamos a distribuir.
Un ejemplo es si quiero crear una aplicación que vaya a vender, entonces hago un código que cheque la licencia y que aparte contenga variables vitales para la ejecución, todo ésto ofuscado. Entonces, nadie podrá quitar esas lineas porque si las quitan, se anula la ejecución porque tiene las variables vitales. He ahí el fin de evitar la 'vuelta a la normalidad'

Saludos
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #560 (permalink)  
Antiguo 01/01/2012, 11:57
Avatar de HiToGoRoShi  
Fecha de Ingreso: abril-2008
Mensajes: 849
Antigüedad: 16 años, 8 meses
Puntos: 31
Respuesta: Competencias PHP

amigos matematicos, yo les prongo que dibujen una circunferencia apartir de un radio ingresado

Código PHP:
Ver original
  1. function dibujarCircunferencia(r){
  2.  return "la circunferencia";
  3. }

El resultado podria estar con simples 0 nada mas, algo asi

xx00xx
x0000x
xx00xx

Si ingresas un radio mayor, este crece

xxx00xxx
xx0000xx
x000000x
xx0000xx
xxx00xxx
  #561 (permalink)  
Antiguo 01/01/2012, 12:24
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 13 años, 4 meses
Puntos: 37
Respuesta: Competencias PHP

Cita:
Iniciado por Sourcegeek Ver Mensaje
El, digamos, significado principal de la ofuscación es evitar que sea recuperable, ésto para proteger código de aplicaciones que por ejemplo vayamos a distribuir.
Un ejemplo es si quiero crear una aplicación que vaya a vender, entonces hago un código que cheque la licencia y que aparte contenga variables vitales para la ejecución, todo ésto ofuscado. Entonces, nadie podrá quitar esas lineas porque si las quitan, se anula la ejecución porque tiene las variables vitales. He ahí el fin de evitar la 'vuelta a la normalidad'

Saludos
Hola sourcegeek. Que tal de nuevo año? Según me dices, entonces la ofuscación no debe dejar el código inservible. O sea el código ofuscado se hace ilegible pero sigue funcionando, cierto? Eso ya es mas complicado pero ya tiene sentido.

Saludos
__________________
Los hombres pequeños, nunca se sienten pequeños; los hombres grandes, nunca se sienten grandes.

No sé quien fué el que dijo eso, pero está bueno.
  #562 (permalink)  
Antiguo 01/01/2012, 15:09
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 7 meses
Puntos: 322
Respuesta: Competencias PHP

Claro, si hubieras probado la herramienta que te dí lo hubieras descubierto desde el inicio
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #563 (permalink)  
Antiguo 01/01/2012, 21:54
 
Fecha de Ingreso: enero-2012
Mensajes: 2
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Competencias PHP

Cita:
Iniciado por HiToGoRoShi Ver Mensaje
amigos matematicos, yo les prongo que dibujen una circunferencia apartir de un radio ingresado

Código PHP:
Ver original
  1. function dibujarCircunferencia(r){
  2.  return "la circunferencia";
  3. }

El resultado podria estar con simples 0 nada mas, algo asi

xx00xx
x0000x
xx00xx

Si ingresas un radio mayor, este crece

xxx00xxx
xx0000xx
x000000x
xx0000xx
xxx00xxx
Yo hice esto. Supongo que se podra hacerlo mucho mas simple, y ademas el resultado no queda como una circunferencia, si no mas como un rombo.


Código PHP:
Ver original
  1. function dibujarCircunferencia($radio) {
  2.  
  3. $centro = $radio + 2;
  4.  
  5. if ( $radio%2 == 0) {
  6.     $inicio = 2;
  7. } else {
  8.     $inicio = 1;
  9. }
  10.  
  11. for ($i = $inicio ; $i <= $radio ; $i=$i+2) {
  12.     $equis = ($centro-$i)/2;
  13.     for ($x = 0 ; $x < $equis ; $x++) {
  14.         echo "x";
  15.     }
  16.     echo "<font color=red>";
  17.     for ($ceros = 0 ; $ceros < $i ; $ceros++) {
  18.         echo "0";
  19.     }
  20.     echo "</font>";
  21.     for ($x = 0 ; $x < $equis ; $x++) {
  22.         echo "x";
  23.     }
  24.     echo "<br />";
  25. }
  26. for ($i = $radio-2 ; $i > 0 ; $i=$i-2) {
  27.     $equis = ($centro-$i)/2;
  28.     for ($x = 0 ; $x < $equis ; $x++) {
  29.         echo "x";
  30.     }
  31.     echo "<font color=red>";
  32.     for ($ceros = 0 ; $ceros < $i ; $ceros++) {
  33.         echo "0";
  34.     }
  35.     echo "</font>";
  36.     for ($x = 0 ; $x < $equis ; $x++) {
  37.         echo "x";
  38.     }
  39.     echo "<br />";
  40. }
  41. }
  #564 (permalink)  
Antiguo 28/11/2013, 13:52
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 9 meses
Puntos: 96
Respuesta: Competencias PHP

Ya que el tema esta "botado" propongo un desafio/competencia, la idea es "replicar" las funciones nativas de php, obviamente no se pueden todas, si alguien cree que puede optimizar alguna ya replicada, bienvenida sea, la unica condicion es comentar cada linea de.codigo, aqui voy con la mia y es count()
Código PHP:
Ver original
  1. function contar($array){
  2. //iniciamos el contador a 1
  3. $i=1;
  4. //recorremos el array para poder iterar y contar los indices
  5. foreach($array as $arr){
  6. //vamos aumentando el contador en cada vuelta y lo asignamos a una variable final
  7. $c=$i++;
  8. }
  9. return $c;
  10. }
  11. //ejemplo
  12. $miarray=array(6,5,8,9,6,3,9,0,7,5,5);
  13. echo contar($miarray)."<br";
  14. echo count($miarray);
Mas o menos esta es la idea, espero que sea divertido, saludos.
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #565 (permalink)  
Antiguo 28/11/2013, 16:44
Avatar de Gustavo72  
Fecha de Ingreso: abril-2008
Ubicación: -32.956045,-60.661355
Mensajes: 197
Antigüedad: 16 años, 8 meses
Puntos: 9
Respuesta: Competencias PHP

Hola xS.
En principio no hace falta usar dos variables ($i y $c).
Además el contador debe iniciar en cero:

$i=0;

$i++;

return $i;

Estos serían los cambios que yo haría.
__________________
Saludos.

Gustavo
  #566 (permalink)  
Antiguo 28/11/2013, 17:54
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 9 meses
Puntos: 96
Respuesta: Competencias PHP

Tu dices algo asi
Código PHP:
Ver original
  1. function contar($array){
  2. //iniciamos el contador a 0
  3. $i=0;
  4. //recorremos el array para poder iterar y contar los indices
  5. foreach($array as $arr){
  6. //vamos aumentando el contador en cada vuelta y lo asignamos a una variable final
  7. $i++;
  8. }
  9. return $i;
  10. }
  11. //ejemplo
  12. $miarray=array(6,5,8,9,6,3,9,0,7,5,5);
  13. echo contar($miarray)."<br";
  14. echo count($miarray);
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.

Última edición por Triby; 28/11/2013 a las 17:56 Razón: $i debe iniciar en cero para que el resultado sea correcto
  #567 (permalink)  
Antiguo 28/11/2013, 17:55
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 4 meses
Puntos: 2237
Respuesta: Competencias PHP

xSkArx, me gusta la idea, va a ser interesante saber cómo haríamos "a pie" lo que hacen las funciones comunes de PHP.
__________________
- León, Guanajuato
- GV-Foto
  #568 (permalink)  
Antiguo 28/11/2013, 18:00
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 9 meses
Puntos: 96
Respuesta: Competencias PHP

Graciaa Triby, espero se unan mas participantes
Aqui dejo otra, aunque se momwnto solo funciona con $inicii y $length positivos
Código PHP:
Ver original
  1. $str="Hola Mundo";
  2. function dividir_string($str,$inicio=0,$length=''){
  3. //creamos un array a partir de un string
  4. $string=str_split($str);
  5. //definimos la cantidad de caracteres a mostrar
  6. $off=!empty($length) ? $length : strlen($str);
  7. //definimos una variable vacia para poder para poder guardar nuestro nuevo string
  8. $newstr="";
  9. //usamoa un bucle for para poder iterar segun los parametros definidos
  10. for($i=$inicio; $i<($off+$inicio); $i++){
  11. //concatenamos la cantidad de caracteres definidos segun el parametro $length
  12. $newstr.=$string[$i];
  13. }
  14. return $newstr;
  15. }
  16. echo dividir_string($str,3,5);
  17. echo substr($str,3,5);
version mejorada
Código PHP:
Ver original
  1. $str="Hola Mundo";
  2. function dividir_string($str,$inicio=0,$length=''){
  3. $string=str_split($str);
  4. $len=!empty($length) ? $length : strlen($str);
  5. $newstr="";
  6. if($inicio<0){
  7. for($i=$len+$inicio; $i<$len; $i++){
  8. $newstr.=$string[$i];
  9. }
  10. }else{
  11. for($i=$inicio; $i<($len+$inicio); $i++){
  12. $newstr.=$string[$i];
  13. }
  14. }
  15. return $newstr;
  16. }
  17. echo dividir_string($str,-5)."\r\n";
  18. echo substr($str,-5);
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.

Última edición por xSkArx; 30/11/2013 a las 07:41
  #569 (permalink)  
Antiguo 30/11/2013, 10:17
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 9 meses
Puntos: 96
Respuesta: Competencias PHP

Creao que ahira esta mejor
Código PHP:
Ver original
  1. $str="Hola Mundo";
  2. function dividir_string($str,$inicio=0,$length=''){
  3. $string=str_split($str);
  4. $len=!empty($length) ? $length : strlen($str);
  5. $newstr="";
  6. if($inicio<0){
  7. $x=strlen($str)+$inicio;
  8. for($i=$x; $i<$len+$x; $i++){
  9. $newstr.=$string[$i];
  10. }
  11. }else{
  12. for($i=$inicio; $i<$len+$inicio; $i++){
  13. $newstr.=$string[$i];
  14. }
  15. }
  16. return $newstr;
  17. }
  18. echo dividir_string($str,-7,2)."\r\n";
  19. echo substr($str,-7,2);
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #570 (permalink)  
Antiguo 30/11/2013, 10:20
Avatar de Cuervoo  
Fecha de Ingreso: octubre-2013
Mensajes: 165
Antigüedad: 11 años, 2 meses
Puntos: 43
Respuesta: Competencias PHP

xSkArx, Las funciones las elije uno o alguien tira "como reemplazarían esta función?" y cada uno pone de la forma que lo haría?

Etiquetas: competencia, desafío
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

SíEste tema le ha gustado a 34 personas




La zona horaria es GMT -6. Ahora son las 05:57.