Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - xiruko

#31
Cita de: boctulus en 19 Abril 2016, 14:25 PM
Compañero @xiruko : te consulto por el uso de sscanf() con "%d"

Tu sabras si es mas eficiente que usar atoi() ?

Hola,

Es más eficiente atoi debido a que se ahorra parsear la cadena buscando los especificadores como hace sscanf. Usé sscanf para aportar otras funciones distintas a las que ya habían en el tema.

Aquí puedes encontrar una comparación muy buena entre ambas funciones:

http://stackoverflow.com/questions/3420629/convert-string-to-integer-sscanf-or-atoi

Saludos!
#32
CitarHe leido que si está malformado se ejecuta el código, por eso no me he querido arriesgar. Tambien he leido que hacer una lista blanca con los carácteres permitidos es más seguro. Prefiero ir a lo seguro.

Podrías poner algún ejemplo de un código malformado?

Ahora mismo no se me ocurre ningún ataque XSS posible si:

1. Usas la función que he puesto para imprimir todo lo que venga del usuario.
2. No imprimes nada que venga del usuario dentro de un bloque <script>.
3. No imprimes nada que venga del usuario en atributos en un elemento de HTML. Esto no me preocupa ya que nunca mezclo JS y HTML, me parece una práctica bastante sucia y prefiero tener el código bien ordenado.

Respecto a lo de la expresión regular, no soy moderador pero creo que sería mejor que abrieras otro tema con ello.

Saludos!
#33
Hola,

Como en programación hay mil maneras de hacer una misma cosa, te dejo otra opción para juntar un array de enteros en uno solo. Ten cuidado con el valor máximo que puede tomar un entero, ya que con esta función es muy fácil pasarlo si se utiliza mal, y ahora mismo no hace ningún tipo de verificación.

#include <stdio.h>
#include <string.h>

int join(int *arr, size_t arr_size)
{
int result, i;
char aux[256];
for (i=0; i<arr_size; i++) {
sprintf(aux + strlen(aux), "%d", arr[i]);
}
sscanf(aux, "%d", &result);
return result;
}

int main(void)
{
int arr[4] = {1, 2, 3, 4};
int result = join(arr, 4);
printf("%d\n", result);
return 0;
}


Saludos!
#34
Hola,

Para evitar ataques XSS yo utilizo la función htmlspecialchars. Básicamente sustituye los carácteres peligrosos como >, <, ' y " por sus códigos HTML.

Se puede crear una función para hacer un echo seguro muy fácilmente:

Código (php) [Seleccionar]
function safe_echo($msg, $return=false)
{
    $msg = htmlspecialchars($msg, ENT_QUOTES, 'UTF-8');
    if ($return) return $msg;
    echo $msg;
}


Saludos!
#35
Electrónica / Re: que signfica este simbolo
17 Abril 2016, 04:16 AM
Hola,

Como dato a añadir, los pads que son cuadrados en las PCB suelen indicar el voltaje positivo. Digo suelen porque no sé si hay un estándar que así lo marque, o por si es una convención no escrita que la gente normalmente sigue. Pero bueno, por norma general suele ser así.

Saludos!
#36
Hola,

Cada navegador usa su propio motor de renderizado y cada uno tiene sus peculiaridades. Sí, es una faena, y sería todo mucho más sencillo si se renderizara el código HTML y CSS de una manera estandarizada, pero supongo que todo no se puede tener...

Si quieres que en todos se vea casi, casi, igual, deberías como mínimo hacer un reset en CSS antes de cargar tus estilos. Esto puedes buscarlo en Google ya que ya hay varios archivos CSS por ahí que hacen esto por ti.

Otra opción es usar algún framework de frontend, como por ejemplo Bootstrap, el cual se ve casi igual en todos los navegadores. Es bastante sencillo de aprender, y después de pelearte con él varias horas ya podrás hacer una web bastante decente.

Saludos!
#37
Hola,

Más que hacer una petición AJAX por cada pregunta, yo escondería y mostraría las distintas preguntas con JQuery, así le quitarías carga al servidor y además el cambio de preguntas sería instantáneo de cara al usuario.

Puedes hacer que en el archivo PHP se escriban todas las preguntas de tu test, luego con CSS dales un display: none, y ya luego con JQuery muestras la primera, y cada vez que contesten a una, escondes la actual y muestras la siguiente. Esto puede hacerse fácilmente con los métodos hide y show, o si quieres darle efectos con los métodos fadeIn, fadeOut, slideUp o slideDown.

Saludos!
#38
Usar javascript y/o PHP no implica tener que usar o no usar XML. XML solo es un formato que le das a una información, no es un lenguaje de programación.

Si dices que tienes artículos guardados en formato XML, y que esos artículos no los quieres para nada, y que en su lugar quieres usar los posts de Wordpress entonces que le den a los archivos XML que tienes.

Ahora bien, Wordpress cómo guarda los posts? En una base de datos MySQL? O los guarda en formato XML en el servidor? Dudo que lo haga guardándolos en archivos XML pero ni idea de cómo funciona Wordpress.

Respecto a si habría algún problema, bueno, ahora mismo tu javascript recoge por AJAX los datos de los archivos XML. Si cambias eso para que haga la petición a un PHP donde cojas la información de los posts de la base de datos no debería haber ningún problema. Para evitarte tener que cambiarlo todo, podrías hacer que este PHP devolviera la información en formato XML, así lo demás que tienes de javascript te serviría tal cual.

Saludos!
#39
Hola,

Comparar PHP con XML es como comparar tomates con aviones. XML simplemente es un lenguaje de etiquetas personalizado para la aplicación. Se usa para almacenar valores de configuración, datos que serán mostrados más adelante como es tu caso, o para enviar datos por internet.

Por ejemplo, imagina que tu aplicación envía ante una petición los datos de 2 coches que han satisfecho una búsqueda. Desde PHP construyes la cadena XML que sería algo como esto:

Código (xml) [Seleccionar]
<busqueda>
   <coche>
      <marca>Seat</marca>
      <color>Negro</color>
   </coche>
   <coche>
      <marca>Renault</marca>
      <color>Rojo</color>
   </coche>
</busqueda>


Y luego con javascript, recogerías esos datos mediante una petición AJAX y harías algo con ellos.

Esto es solo un ejemplo. Otro podría ser guardar valores de configuración de tu programa. PHP ya tiene funciones predefinidas para tratar con archivos XML, así que imagínate que guardaras toda la configuración de tu aplicación web en un archivo XML. Podría ser algo como esto:

Código (xml) [Seleccionar]
<configuracion>
   <rootpath>/path/to/root/</rootpath>
   <db_user>UsuarioBBDD</db_user>
   <db_password>12345678</db_password>
   etc.
</configuracion>


Saludos!
#40
Desarrollo Web / Re: php tablas ayuda
12 Abril 2016, 01:23 AM
Hola,

Vas a escribir todas las tablas a mano? Qué pasa si tu profesor te pidiera las tablas de multiplicar del 1 al 100? O al 1000?

Tu problema se soluciona muy fácilmente con un ciclo for. Te sugiero que le metas caña a la algoritmia si quieres seguir en este mundo. El lenguaje es secundario, solo es sintaxis.

Código (php) [Seleccionar]
if (isset($_GET['numero'])) {
   $num = $_GET['numero'];
   $output = "<table>";
   for ($i=1; $i<=10; $i++) {
      $result = $num * $i;
      $output .=
         "<tr>
            <td>$num</td>
            <td>x</td>
            <td>$i</td>
            <td>=</td>
            <td>$result</td>
         </tr>";
   }
   $output .= "</table>";
   echo $output;
}


Aquí lo tienes sin detección ni manejo de errores.

Saludos!