Archive for Desarrollo web

Marzo 31st 2015

Mostrar cambios en ambiente de producción Symfony2

Número de lecturas: 2652
{lang: 'es-419'}

Algo muy común y que se resuelve de una manera sencilla es visualizar los cambios en el ambiente de producción (sucede desde symfony 1.x)

Y para mirar los cambios se debe simplemente limpiar la cache en el entorno de producción.

Para realizar se utiliza este comando desde la consola:

app/console cache:clear --env=prod --no-debug

Si nos muestra un error de permisos se debe utilizar el comando sudo y realizar la tarea de esta manera:

sudo app/console cache:clear --env=prod --no-debug

 

Marzo 25th 2015

Agregar ultima fecha de modificación automaticamente en el CRUD de Symfony2

Número de lecturas: 2035
{lang: 'es-419'}

A veces es necesario ingresar directamente un registro a la base de datos el cual no debe ser manipulado previamente simplemente sirve como un campo de auditoria y de esta manera revisar en que fecha se realizo el cambio.

Cuando utilizamos el CRUD generado por Symfony2 nos genera en el update una función similar a esta:

public function updateAction(Request $request, $id)
{
$em = $this->getDoctrine()->getManager();
 
$entity = $em->getRepository('AppBundle:ControlCambios')->find($id);
 
if (!$entity) {
 
throw $this->createNotFoundException('Unable to find ControlCambios entity.');
}
 
$deleteForm = $this->createDeleteForm($id);
$editForm = $this->createEditForm($entity);
 
$editForm->handleRequest($request);
 
if ($editForm->isValid()) {
$em->flush();
 
return $this->redirect($this->generateUrl('controlcambios_edit', array('id' => $id)));
}
 
return array(
'entity' => $entity,
'edit_form' => $editForm->createView(),
'delete_form' => $deleteForm->createView(),
);
}

Simplemente para agregar este registro en el campo previamente creado basta con agregar la siguiente linea:

//Agrega directamente la fecha de la ultima revision
$entity->setFechaUltimaRevision(new \DateTime());

El método finalmente quedaría de la siguiente manera:

public function updateAction(Request $request, $id)
{
$em = $this->getDoctrine()->getManager();
 
$entity = $em->getRepository('AppBundle:ControlCambios')->find($id);
//Agrega directamente la fecha de la ultima revision
$entity->setFechaUltimaRevision(new \DateTime());
 
if (!$entity) {
 
throw $this->createNotFoundException('Unable to find ControlCambios entity.');
}
 
$deleteForm = $this->createDeleteForm($id);
$editForm = $this->createEditForm($entity);
 
$editForm->handleRequest($request);
 
if ($editForm->isValid()) {
$em->flush();
 
return $this->redirect($this->generateUrl('controlcambios_edit', array('id' => $id)));
}
 
return array(
'entity' => $entity,
'edit_form' => $editForm->createView(),
'delete_form' => $deleteForm->createView(),
);
}
Marzo 12th 2015

Como sumar días a una variable date en twig – Symfony2

Número de lecturas: 6207
{lang: 'es-419'}

Hace unos días se presento la necesidad de sumar variables en twig, para ser precisos teniendo una fecha por ejemplo: 2015-01-04 necesito sumar 540 días para esto utilizo la plugin date_modify presente en twig .

Para realizar esta operación se debe realizar de la siguiente forma:

{% set modify = '540' %}
{% set date = "now"|date("m/d/Y") %}
 
{{ date|date_modify("+" ~ modify ~ " day")|date("m/d/Y") }}

Con esto el resultado seria: 08/31/2016

Septiembre 23rd 2014

Configurar correctamente el archivo .htaccess en WordPress

Número de lecturas: 5954
{lang: 'es-419'}

 El archivo .htaccess es un archivo oculto que está ubicado en el directorio raíz de nuestro blog. En algunas ocasiones es posible que tras realizar una instalación de WordPress este archivo no exista, por lo que debemos crearlo a mano accediendo a nuestro sitio mediante FTP.

Se trata de un archivo extremadamente importante para el correcto funcionamiento de WordPress, pero también nos ayuda a proteger nuestro, y nos permite especificar instrucciones para realizar muchas tareas que redundan en beneficio de la indexación del blog en los buscadores y la utilización de herramientas externas como complemento del blog.

Una vez creado el archivo debemos hacerlo de sólo lectura, para evitar problemas mayores. Esto se hace editando los permisos del archivo en tu aplicación o gestor FTP y cambiándolos a 444.

Una vez hecho esto debemos editar el archivo y añadir las siguientes instrucciones para que WordPress opere a la perfección:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Pero el archivo .htaccess sirve para muchas cosas más. Veamos algunas.

Proteger el acceso al propio archivo .htaccess

Para evitar que un atacante malicioso pueda modificar o insertar código en el propio archivo podemos añadirle, justo al principio, estas líneas:

# protege el archivo htaccess

order allow,deny
deny from all

Redireccionar permanentemente el feed a Feedburner

Si usas Feedburner para gestionar el feed RSS del blog deberías establecer una redirección permanente para indicar a los agregadores que deben usar el feed de Feedburner. Esto se hace añadiendo estas líneas:


RewriteCond %{REQUEST_URI} ^/feed/ [NC]
RewriteCond %{HTTP_USER_AGENT} !(FeedBurner|FeedValidator) [NC]
RewriteRule .* http://feeds.feedburner.com/Your-Site-Userame [L,R=301]

Bloquear comentarios spam

También es posible bloquear el spam que llega al blog en forma de comentarios. De ese modo nos evitamos algo de carga al servidor, y tiempo de moderación. Para ello añadiremos estas líneas:


RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post.php*
RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

Dirigir a los motores de indexación hacia robots.txt y evitar a los bots maliciosos

Uno de los principales problemas de cualquier sitio web son los bots maliciosos que pueden sobrecargar nuestro servidor realizando muchas peticiones de indexación. Para evitar esto y además dirigir adecuadamente a los motores ‘buenos’ a nuestro archivo robots.txt (archivo de configuración para motores de búsqueda), insertaremos este código:


RewriteBase /
RewriteCond %{REQUEST_URI} !^/robots.txt$ [NC]
RewriteCond %{REQUEST_URI} robots.txt [NC]
RewriteRule .* http://your-site.com/robots.txt [R=301,L]

Fuente:

labrujulaverde.com