rulu ruru

postoptimizar apache

August 29th, 2007

Filed under: Apache — admin @ 1:40 am

Apache es hoy en día uno de los servidores web más usados, desde companias de hosting hasta companias grandes.

Una de las cosas más dificiles es optimizar apache para que consuma poco CPU y MEMORIA. (Probado en servidores Freebsd / unix)

Optimizar apache para consumir menos CPU y MEMORIA

TimeOut
Yo recomendaría esta directiva en 120 y 300 segundos, Esto interfiere en el envio de archivos mediante formularios, peticiones TCP, GET, etc. Por ende hay que saber como setearlo dependiendo el uso del servidor.

KeepAlive
Esta directiva lo que hace es especificar si se quieren conexiones persistentes con el servidor o no. En un principio pensé que consumia más, pero en realidad si se utiliza en ON, por lo general no solo consume menos sino que se crean menos conexiones al puerto 80.

KeepAliveTimeOut
Como dije anteriormente el KeepAlive es útil, pero es mejor siempre setear timeouts chicos, menores a 20 segundos, para que no consuma demasiado CPU.

MaxKeepAliveRequests
Recomendaría esta directiva arriba de 100, pero uds pueden setearla en cuanto quieran ya que mientras más tengan, más rendimiento tiene el servidor con respecto a los clientes.

MinSpareServers
Esta directiva la considero util, pero es una de las que más consume.. En la mayoria de los servidores que armé la setié en 5.

MaxSpareServers
Es recomendable que no sea mayor a 20

StartServers
Esta función la setearía en 8 comunmente, ya que determina cuantos procesos hijos inician al iniciar apache

MaxClients
Esto depende de la magnitud del servidor, yo lo tengo en 450, en otros en 250, varia depende la cantidad de visitas que tienen.

MaxRequestsPerChild
En este momento lo estoy testeando en 0 (ilimitado) para probar si la carga del servidor disminuye (Overload), caso contrario probar con valores un poco altos.

Hasta ahora vimos como optimizar apache para diferentes servidores, Vimos como optimizar PHP con apache y mod_rewrite para la indexación de google, y proximamente veremos como optimizar el codigo para que consuma menos memoria y tarde menos en ejecutarse.

postComo mejorar la indexación? - SEO

August 26th, 2007

Filed under: SEO — admin @ 11:58 pm

SEO = Search Engine Optimization (Optimización para motores de busqueda)

El seo es la optimización del sitio web para que los motores de busqueda (Principalmente GOOGLE). indexen mejor nuestro sitio web.
(more…)

post¿Qué es un Deface / Defacing / Defacement?

August 26th, 2007

Filed under: PHP — admin @ 11:29 pm

El Deface / Defacing / Defacement es la modificación de una página web sin autorización del dueño de la misma.

La mayoria de las veces logran defacear un sitio consiguiendo acceso mediante alguna vulnerabilidad que el programador haya dejado en el mismo.
También por passwords debiles, problemas en el FTP, etc.
(more…)

postUn rapido ejemplo de un script seguro en PHP

August 26th, 2007

Filed under: PHP — admin @ 2:19 am

Les voy a mostrar como quedaría un script chiquito pero seguro ante culquier inconveniente.

Pagina:

www.misitio.com/index.php?id=5&nombre=martin&nick=Tincho25

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
include("config.php"); // Acá el link a la conexion correspondiente
 
if (!ereg("^[0-9]+$",$_GET[id])) { header("location: index.php"); die; }
 
#compruebo que sea númerico si no lo es, lo mando al index
 
else {
 
$sql = mysql_query("select id from table where id = $_GET[id]",conexion);
 
if (mysql_num_rows($sql) == 0) { $error .= "El id no existe"; }
 
}
 
#como hasta ahora comprobó todo, vamos a seguir con el script
 
if (!ereg("^[a-zA-Z]+$",$_GET[nombre])) { $error . = "Lo siento el nombre debe contener solo letras"; }
 
if (!ereg("^[a-zA0-Z9]+$",$_GET[nick])) { $error .= "Lo siento el nick debe contener solo letras y numeros"; }if (!$error) {
 
// por si las dudas nada más.. vamos a poner los campos con sus respectivos mysql real escape string ...
 
$id = mysql_real_escape_string($_GET[id]);
 
$nombre = mysql_real_escape_string($_GET[nombre]);
 
$nick = mysql_real_escape_string($_GET[nick]);
 
mysql_query("insert into table (nombre,nick,id_referido) values ('$nombre','$nick','$id')",conexion);
 
if (mysql_error()) { echo "Ocurrió un error al intentar ingresar los datos en la base de datos"; }
 
else { echo "Datos ingresados sastifactoriamente"; }
 
}
 
else { echo $error; }

(more…)

postNuevo Bug descubierto en PHP 5.2.3

August 25th, 2007

Filed under: Noticias — admin @ 11:34 pm

PHP 5.2.3 php_ntuser ntuser_getuserlist() Local Buffer Overflow

Se trata de un bug que crea un overflow en el sistema dejandolo inactivo, consumiendo todos los recursos de la maquina.

Este bug fue descubierto por Footzo.

En la actualidad existen varios bugs en PHP 5.2.3 que hacen realmente del lenguaje uno de los más vulnerables dentro de su versión 5.

(more…)

ruldrurd
Next Page »
Entries (RSS) and Comments (RSS)