Foro oficial de PHP

me dejas con duda pero estoy mas que un 100% seguro que
PHP:
}elseif(($hijos >= 15) && ($hijos <= 20)) {

esta correcto ya que el dice, mientras $hijos sea mayor o igual a 15 y $hijos sea menos o igual a 20 blablabla...

pues mirá que yo lo hice tal cual vos me lo recomendaste y solo me daba hasta 3000. es decir que evaluaba con 5000 y luego con 3000 y cuando queria que me apareciera el valor de 2000 no lo hacia.
logicamente tu aporte si hace hace en prueba de escritorio sirve. a lo mejor seran los gallos que tiene mi pc (que en este equipo no pero en otro si sirva):-p:p
 
pues mirá que yo lo hice tal cual vos me lo recomendaste y solo me daba hasta 3000. es decir que evaluaba con 5000 y luego con 3000 y cuando queria que me apareciera el valor de 2000 no lo hacia.
logicamente tu aporte si hace hace en prueba de escritorio sirve. a lo mejor seran los gallos que tiene mi pc (que en este equipo no pero en otro si sirva):-p:p

muchas veces cuando se estan comparando valores numericos o de tipo string, debemos hacerle un cast, en php muchas veces uno los obvia porque el trata de hacerlo internamente cuando uno le define un valor, es mejor practica hacerles cast o definirles el tipo int o char, para evitar esos inconvenientes.
 
Hola muchachos, tiempos sin postear por estos lados. Tengo una consulta:

Aunque ya tenía instalado mi servidor apache desde hace rato, hasta ahora estoy aprendiendo php. Pero ahora quiero modificar el serverAPI del módulo apache a CGI porque el objetivo es desarrollar aplicaciones web para correrlas en mi servidor en internet.

Ojalá la respuesta no implique reinstalar el servidor porque me da pereza.

Por si acaso, la instalación de apache que utilicé es la de xampp.
---
Agregué estás líneas de código en el archivo httpd.conf con el servidor apache apagado.

ScriptAlias /php/ "C:/AppServ/php5/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"

<Directory "C:/AppServ/php5/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

y reinicié el servidor apache, pero nada que se activa el CGI/FastCGI :(
 
Buenos dias laneros....

estaba necesitando ayuda porque instale el xampp y me mandaron una base de datos en sql y una carpeta para colocar en el htdocs del apache...pero como tengo el xampp la meti en el htdocs de este....y ahora cuando abro un archivo en php desde la carpeta de htdocs no me abre bien...sino que me muestra el codigo....alguien me puede decir como poder correr esta aplicacion??

Gracias por adelantado...
 
Hola, encontre esto para trabajar con xml y php http://www.tufuncion.com/php-xml, la duda es si ya lo han probado y si es mejor que trabajar con DOMDocument, que me pueden aconsejar, y si me pueden facilitar links o informacion se los agradeceria mucho.


Que configuracion debo hacer en el apache para evitar que este muestre en el navegador la informacion de la version del tomcat, del php y demas datos sensibles?
 
Hola, encontre esto para trabajar con xml y php http://www.tufuncion.com/php-xml, la duda es si ya lo han probado y si es mejor que trabajar con DOMDocument, que me pueden aconsejar, y si me pueden facilitar links o informacion se los agradeceria mucho.


Que configuracion debo hacer en el apache para evitar que este muestre en el navegador la informacion de la version del tomcat, del php y demas datos sensibles?

Debes cambiar la directiva servertokens en el archivo de configuracion del apache por ej:

ServerTokens myservidorweb

Espero sirva la info
Escrito desde www.LANeros.mobi (BlackBerry8520/5.0.0.592 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/214)
 
Como hago para evitar un sql injection como este http://ejemplo.com/index.php?id=4 AND BENCHMARK(99999999,MD5(0x123123)); ya intente usando $id=addslashes(mysql_real_escape_string($id)); pero igual no funciona.

Hola que tal =)

y si intentas con esto a ver que pasa?

PHP:
// Modificamos las variables pasadas por URL
foreach( $_GET as $variable => $valor ){
  if(buscarpalbrasclaves($valor)) {
    $_GET[$variable] = str_replace("'","--",$valor);
    $_GET[$variable] = str_replace('"',"--",$valor);
  }
}

// Modificamos las variables de formularios
foreach( $_POST as $variable => $valor ){
  if(buscarpalbrasclaves($valor)) {
    $_POST[$variable] = str_replace("'","--",$valor);
    $_POST[$variable] = str_replace('"',"--",$valor);
  }
}

function buscarpalbrasclaves($variable){
  $patron = "(create|alter|drop|truncate|insert|update|delete|BENCHMARK)";
  return ereg($patron,$variable);
}

Seria ponerlo antes de que empezaras a hacer lo que tienes que hacer con las variables ¿no?
 
Como hago para evitar un sql injection como este http://ejemplo.com/index.php?id=4 AND BENCHMARK(99999999,MD5(0x123123)); ya intente usando $id=addslashes(mysql_real_escape_string($id)); pero igual no funciona.
1. simplemente sanear la entrada, es decir no pasar la variable tal cual $_GET, $_POST, etc sino hacerle "cast" o lo que dijo JALF :p
2. para que se divierta leyendo, si le interesa :p http://www.php.net/manual/en/function.filter-input.php

PHP:
// filtering by variable
$var1 = filter_var($_GET["id"], FILTER_VALIDATE_INT);

// filtering by input
$input1 = filter_input(INPUT_GET, "arg1", FILTER_VALIDATE_INT);
 
1. simplemente sanear la entrada, es decir no pasar la variable tal cual $_GET, $_POST, etc sino hacerle "cast" o lo que dijo JALF :p
2. para que se divierta leyendo, si le interesa :p http://www.php.net/manual/en/function.filter-input.php

PHP:
// filtering by variable
$var1 = filter_var($_GET["id"], FILTER_VALIDATE_INT);

// filtering by input
$input1 = filter_input(INPUT_GET, "arg1", FILTER_VALIDATE_INT);

Asegurate de que tengas la version que soporte ese tipo de funciones, si mal no estoy desde la 5.2....la 5.1 como que no las implementa.
 
Aun con ese codigo si meto AND BENCHMARK(99999999,MD5(0x123123)); sin comillas se jode el server.

Hola que tal =)

y si intentas con esto a ver que pasa?

PHP:
// Modificamos las variables pasadas por URL
foreach( $_GET as $variable => $valor ){
  if(buscarpalbrasclaves($valor)) {
    $_GET[$variable] = str_replace("'","--",$valor);
    $_GET[$variable] = str_replace('"',"--",$valor);
  }
}

// Modificamos las variables de formularios
foreach( $_POST as $variable => $valor ){
  if(buscarpalbrasclaves($valor)) {
    $_POST[$variable] = str_replace("'","--",$valor);
    $_POST[$variable] = str_replace('"',"--",$valor);
  }
}

function buscarpalbrasclaves($variable){
  $patron = "(create|alter|drop|truncate|insert|update|delete|BENCHMARK)";
  return ereg($patron,$variable);
}

Seria ponerlo antes de que empezaras a hacer lo que tienes que hacer con las variables ¿no?
 
Asegurate de que tengas la version que soporte ese tipo de funciones, si mal no estoy desde la 5.2....la 5.1 como que no las implementa.

si, desde la 5.2 pero ahora muchos de los hosting tienen 5.2.x :p, igual vale la pena la aclaración y la verificación de la versión por parte del necesitado :p

Aun con ese codigo si meto AND BENCHMARK(99999999,MD5(0x123123)); sin comillas se jode el server.

supongo que lo que él quiere con ese código es volver comentario el SQL injection

intenta esto dentro de los if:

PHP:
$id = $_GET[$variable];
$patron = "(create|alter|drop|truncate|insert|update|delete|BENCHMARK|AND)"; 
$_GET[$variable] = preg_replace($patron, '--', $id);
pero de una vez te advierto que cualquier cosa que pongas luego del contenido del $_GET en la instrucción SQL no funcionara, quedara algo así:

select * from tabla WHERE id = 4 -- --(99999999,MD5(0x123123))

y si quieres poner un order, group, etc pues quedara como si fuera comentario y no lo hará

select * from tabla WHERE id = 4 -- --(99999999,MD5(0x123123)) order by id

la forma mas fácil si no dispones de la función que mencione antes y son pocos querys SQL es hacer in "cast", para el ejemplo

PHP:
$_id = intval($_GET["id"]);
o simplemente hacer un split/explode del espacio " "

PHP:
$id = explode(" ", $_GET["id"]);
$id = reset($id);
o la formula mas facil :p, encierra el valor entre comillas
eso si reemplazando dentro de la variable las comillas que vayas a usar por null/vacio

select * from tabla WHERE id = '$_GET["id"]'
select * from tabla WHERE id = '4 AND BENCHMARK(99999999,MD5(0x123123))'

así no encontrará nada pero tampoco hará nada :p
 
Gracias por los consejos, ahora tengo otra duda, no se si conocen el JCE editor para joomla, la cosa es que quiero implementarlo en un sitio php aparte y no se donde pueda conseguirlo, si me ayudan muchas gracias.
 
ese ckeditor se ve interesante, estaba usando en tinymce pero almenos la version que yo tengo no me permite subir imagenes al servidor.
 
ese ckeditor se ve interesante, estaba usando en tinymce pero almenos la version que yo tengo no me permite subir imagenes al servidor.

Me parece que todos dos tienen plug-ins para esa tarea pero creo que esos plug-ins son de pago pero... ps los puedes descargar y ver que es lo que están haciendo por dentro y.... ps bueno para eso están escritos en PHP y sabemos PHP = se puede lograr algo :bandido:

Salu2
 
Me parece que todos dos tienen plug-ins para esa tarea pero creo que esos plug-ins son de pago pero... ps los puedes descargar y ver que es lo que están haciendo por dentro y.... ps bueno para eso están escritos en PHP y sabemos PHP = se puede lograr algo :bandido:

Salu2
Al final me quede con el ckeditor, y para lo de los archivos use ckfinder que se integra bien con este ultimo.
 
Si ha funcionado bastante bien, otra duda, entre toda la cantidad de frameworks que existen para php cuales recomendarian, he escuchado mucho de symfony, nesecito buscar uno que la curba de aprendizage no sea muy larga y que no de problemas para montarlo en un hosting x o y
 

Los últimos temas