Publicado el 13/09/2010 12:09:00 en Programación General. Total de votos: 0 Votar
Thank You Programmers!
Programmer Day is a day to celebrate Programmers and thank them for all that they do. ProgrammerDay.info was created to promote and provide a home for the day. The history of Programmer Day is longer than the 3 year life of this site, but unfortunately a lack of comments and poor documentation have obfuscated that history.
fuente: http://www.programmerday.info/
Comentarios: 0 | Leer comentarios
Publicado el 12/09/2010 12:09:00 en Programación Web. Total de votos: 0 Votar
La seguridad informática es un elemento sustancial a la hora de configurar complejas infraestructuras de servidores de base de datos y granjas de aplicación.
En la actualidad ya es una practica común el disponer de sistemas de detección de intrusos, firewall's y complejos filtrados de información TCP para resguardar información confidencial.
El deseo de todo atacante es la ejecución en un servidor, de un script PHP combinado con lenguaje SQL, que vulnere los elementos de protección y penetre todas las barreras de seguridad informática, para consultar información en general confidencial, alojada en las bases de datos. Esto altamente probable si no se han tenido en cuenta medidas adecuadas al realizar la programación del sitio/sistema Web.
Alterar consultas, o valerse de ellas para incrustar nuevos scripts que permitan manipular la información, es usual cuando no se esta bien protegido.
Por eso este seminario esta orientado a todos los profesionales que deseen asegurar aún mas sus sistemas, con metodologías adecuadas para proteger los datos ingresados por el usuario final.
Índice de Contenidos
Dónde buscar las variables
Uso de $_REQUEST
Utilización de $_POST y $_GET
Diferencias REALES entre POST y GET
Inclusión remota de archivos: Fundamentos
Inyección SQL: Fundamentos
¿que es lo que realmente pasa?
Tipos de valores esperados Vs Expresiones Regulares
Sanización de variables con Expresiones Regulares
El método definitivo
Implementación Práctica de Capa de Seguridad
PHP.INI
Por una cuestión de facilidad es muy común el uso de la variable $_REQUEST, para localizar variables enviadas por post, al momento de desarrollar bloques de código.
Un ejemplo practico seria:
ej1.php
El estado es: <?
if($_REQUEST["estado"]==”activado”){
echo “activado”;
}
?>
<br><hr>
<form method=”post” action=”ej1.php”>
<input type=”hidden” name=”estado” value=”activado”>
enviar con post
<input type=”submit” value=”enviar”>
</form>
A simple vista sabemos que $_REQUEST["estado"] tendría que ser una variable recibida por POST pero en verdad podríamos acceder a este script de la siguiente forma:
Lo que nos muestra que al enviar el mismo valor por GET, el script funciona normalmente.
PHP.NET/request
$_REQUEST es una variable ’superglobal’, o global automática, Esto significa que está disponible en todas las instancias de un script.
No es necesario escribir “global $variable” para acceder desde funciones o métodos.
Las variables en $_REQUEST son completadas con las variables enviadas por GET, POST, y COOKIE, por lo cual pueden no ser de confianza ya que pueden ser sobrees...
Continúa aquí...Comentarios: 3 | Leer comentarios
Publicado el 12/09/2010 12:09:00 en Programación Web. Total de votos: 0 Votar
mas que un codigo, un motor de envio masivo de mails :D
hoy explico como hacer un motor de envio masivo de Emails
Bueno, la tecnica es simple, es un poco de logica y mezclar script de consola con php, imaginemos que tenemos 500 emails para enviar, un codigo tipico seria este
<?
$a = 1;
while($a != 500)
{
mail("parami","conestetitulo","yestebody","conestosencabezados");
$a++;
}
?>
esto sin duda tardaria hasta el ultimo ok de la funcion mail() de php para devolver una respuesta al browser, el problema seria que habria que esperar el envio de 500 mails para poder seguir, ni hablar si pensamos en mandar unos 2 millones :P
vamos a ver una segunda opcion
Hasta aca todo bien, sabemos enviar, pero muchos, cuesta tiempo de browser si queremos hacer la tipica funcion de un click y muchos mails inmediatos.
refrescando un poco sobre comandos en unix/linux nos acordamos que pasa si ponemos un comando seguido de "&", pasa a background.
podriamos usar un shellscript para enviar los mails con el comando nativo de sendmail pero nos traeria problemas a la hora de personalizar el mail y demases
tonzes optamos por hacer un php que sea ejecutado en background:
El mismo !!!
<?
$a = 1;
while($a != 500)
{
mail("parami","conestetitulo","yestebody","conestosencabezados");
$a++;
}
?>
pero el script que lo ejecutaria seria el que lo pone en background =)
<?exec("php scriptmaileador.php&");?>
Listo !!!, tenemos un motor para enviar cuantos mails queremos enviar!!!, pero ahora, el problema de la velocidad, 500 mails para un script es mucho, mas si tenemos en cuenta el tiempo de ejecucion por script =(
el asesino de sendmail"s
y si planteamos que cada mail sea un proceso paralelo ???, la ecuacion seria asi:
mail por proceso == sendmail gritando piedad (true)
bien, ahora solamente nos queda hacer los 2 scripts
<?mail("parami","conestetitulo","yestebody","conestosencabezados");?>
<?
$a = 1;
while($a != 500)
{
exec("php script1.php&");
$a++;
}
?>
Y listo!!!!, ya tenemos un sendmail killer, o mejor dicho, un envio masivo de mails!!!
y no se olviden de validar lo que queda adentro del exec/system/popen !!
SaludoS !
Comentarios: 2 | Leer comentariosNo hay más entradas.