Oct
23
2009
0

WordPress escapa automáticamente las comillas simples!.
Escrito por NomikOS el 23/Oct/2009 | 248 visitas

En wp-settings.php alrededor de la línea 581 de wordpress 2.8 encontramos:

1
2
3
4
5
6
7
8
9
10
11
12
// If already slashed, strip.
if ( get_magic_quotes_gpc() ) {
    $_GET    = stripslashes_deep($_GET   );
    $_POST   = stripslashes_deep($_POST  );
    $_COOKIE = stripslashes_deep($_COOKIE);
}

// Escape with wpdb.
$_GET    = add_magic_quotes($_GET   );
$_POST   = add_magic_quotes($_POST  );
$_COOKIE = add_magic_quotes($_COOKIE);
$_SERVER = add_magic_quotes($_SERVER);

O sea que independientemente de tu configuración en php.ini:

1
2
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

WP siempre escapará las comillas.

Luego en teoría no sería necesario usar addslashes o addslashes_gpc:

1
$keyword = addslashes_gpc(trim($_POST['keyword']));

Y siempre deberíamos usar stripslashes al reescribir datos pasados por $_POST:

1
<input type="text" name="keyword" value="<?php echo htmlspecialchars(stripslashes($_POST['keyword'])) ?>">

La verdad es que no me gusta nada. Pero no queda más que aceptarlo como una medida de seguridad adecuada para permitir la creación de tantos plugins para WP a la mayor cantidad de codificadores.

Como sea, es mejor no olvidar esta característica de WP.

Written by NomikOS in: PHP,Wordpress/Buddypres |
Oct
01
2009
10

Actualizando php 5.2 en Centos 5.
Escrito por NomikOS el 01/Oct/2009 | 10 comentarios | 503 visitas

Centos 5 viene con php 5.1.6.
Hay importantes paquetes que necesitan php 5.2+ como por ejemplo phpmyadmin 3.2.2. Encontré un repositorio dedicado a esto.

Haz un nuevo archivo:

1
vi /etc/yum.repos.d/centos-test.repo

Agrega estas líneas:

1
2
3
4
5
6
[c5-testing]
name=CentOS-5 Testing
baseurl=http://dev.centos.org/centos/5/testing/$basearch/
enabled=0
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing

Ejecuta la actualización con yum

1
yum --enablerepo=c5-testing update php

Ahora lo tienes…

1
2
3
4
php -v
PHP 5.2.9 (cli) (built: Jul  8 2009 06:03:36)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

Aprovecha de actualizar php-mcrypt para tranquilizar a phpmyadmin.

1
yum --enablerepo=c5-testing update php-mcrypt

Chequea que php-mcrypt sea de la misma version que php (5.2.9 en este caso).

1
2
rpm -qa | grep php-mcrypt
php-mcrypt-5.2.9-2.el5.centos.3

Ahora las extensiones para php son cargadas desde sus propios archivos .ini ubicados en /etc/php.d

1
vi /etc/php.d/mcrypt.ini

Para habilitar mcrypt asegúrate de remover ; en la segunda línea.

1
2
; Enable mcrypt extension module
extension=mcrypt.so

Reinicia apache

1
service httpd restart
Written by NomikOS in: Linux,PHP |

motor: WordPress. tema: TheBuckmaker modificado por NomikOS.