Entradas etiquetadas ‘código

Sin tiempo para escribir.128

Esta recopilación la iniciamos con el vídeo que nos recomienda Berto Pena en su entrada “Desconectar para conectar” y es que tenemos (y tengo) que pensar en desconectar alguna vez para conectar con lo que no es digital, porque hay algo más que Internet, nuestro móvil, …

Sin tiempo para escribir.128

Etiquetas : , , , , , ,

Analytics Open Source, las alternativas a Google Analytics

piwik analytics open source 470x214 Analytics Open Source, las alternativas a Google AnalyticsGoogle Analytics es omnipresente pero no es único y tenemos decenas de alternativas para gestionar nuestras analíticas web, la mayoría soluciones de estadísticas de pago como GetClicky (que utilizo), Woopra, etc.

Entre las alternativas para analytics de código abierto destacan las siguientes:

¿ Conocéis más soluciones de código abierto para implantar analíticas en tus páginas web?. ¿Qué utilizais ahora?

Etiquetas : , , , , ,

0

PHP Swiftmailer con Amazon Simple Email Service

Como era de esperar y después de comentar hace unos días sobre el nuevo servicio Cloud de Amazon, su Amazon SES (Simple Email Service) como herramienta de transporte de correo electrónico, ya tenemos una de las primeras librerías que soporta el envío con este nuevo servicio. Swiftmailer es una librería en PHP que permite gestionar diferentes métodos de transporte de correo para los envios gestionados con ella. Aquí tenéis un ejemplo de uso:

<?php
  require_once 'lib/swift_required.php';

  //Create the Transport
  $transport = new Swift_AWSTransport(
    'AWS_ACCESS_KEY',
    'AWS_SECRET_KEY'
  );

  //Create the Mailer using your created Transport
  $mailer = Swift_Mailer::newInstance($transport);

  //Create the message
  $message = Swift_Message::newInstance()
  ->setSubject("What up?")
  ->setFrom(array('you@yourdomain.com'))
  ->setTo(array('them@theirdomain.com'))
  ->setBody("
<p>
  Dude, I'm <b>totally</b> sending you email via AWS.
</p>
  ", 'text/html');

  $mailer->send( $message );

En el momento de publicar esta entrada solo está disponible el servicio para la región por defecto, pero seguro que pronto Amazon lo hará disponible en todas las regiones.

Más información: Swiftmailer. Descarga de transporte Amazon SES en github. Ejemplo de uso de Swiftmailer con Amazon SES.
Referencias: Rubn y velvetcache

Etiquetas : , , , , , , ,

Buscar y reemplazar texto en muchos ficheros

El otro día tenía la necesidad de buscar y reemplazar de forma masiva y automática un texto (html) en muchos ficheros a la vez, y hacerlo a mano era una locura. Con este script en perl que encontré en Internet (también pregunte en Twitter y me ayudaron mucho) podemos buscar y sustituir texto de forma recursiva. La primera utilidad de un código así es ante un problema de seguridad en el que nos inyecten código en nuestras páginas podremos detectar el código y sustituirlo de forma rápida.

#!/usr/bin/perl
# A simple recursive find and replace tool
# Copyright (C) 2010 Anatoliy Dimitrov, website-security.info

#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.

#If used escape these characters . * ? + [ ] ( ) { } ^ $ | \ ;
#The ‘s’ RE modifier makes it work on more than one line by default.

use strict;
use warnings;
use File::Find;
use Cwd;

my $changefrom = ‘code to be replaced\n’; #always leave \n at the end to avoid blank lines being left
my $changeto = ; #usually empty unless you want to place something
my $extensions = ‘.php’;
my $path = cwd; #usually the current working directory

#do not change anything below this line

sub matchPattern {

my $file = $File::Find::name;

if ($file =~ /$extensions/) {
open INPUT, ‘<’, $file or warn;
my @input_array=<INPUT>;
close(INPUT);
my $file_code=join(“”,@input_array);
$file_code =~ s#$changefrom#$changeto#sg;
open OUTPUT, ‘>’, $file or warn;
print(OUTPUT $file_code);
close(OUTPUT);
}

}

find (\&matchPattern, $path);

En este script tenemos que destacar las variables del principio que son las que nos ayudarán en nuestra tareas:

Por poner un ejemplo por si nos han inyectado código malicioso en nuestros ficheros php, imaginar que nos ha introducido esto:

<script type=”text/javascript”>
alert(“¿Estas seguro de que tu sitio web está protegido?”)
</script>
En este caso en el $changefrom no hace falta ponerlo todo por si el patrón cambia, podéis introducirlo así:
my $changefrom =’<script.*seguro.*cript>\n’;

Vamos que podéis usar expresiones regulares sin problemas para las buscar y sustituir. Si necesitais un retorno de carro para añadir o eliminar recordar que podéis usar \n.

El código original lo podéis conseguir en GitHub. vía: Website-security

Etiquetas : , , , , ,

Copia de seguridad de tu Twitter en XML

TwitterBackup es una utilidad para guardar una copia de seguridad de los contenidos de tu cuenta Twitter, de forma que puedes conseguir todos tus mensajes en formato XML para guardarlo tu y que no sea la gente de Twitter la que pueda decidir borrar o no almacenarlo, aunque no creo que sea el caso.

TwitterBackup 3.0.2 470x293 Copia de seguridad de tu Twitter en XML

Esta aplicación ha sido desarrollada en Java y como código fuente libre, por lo que podéis modificarla y ejecutarla en cualquier plataforma donde tengáis Java instalado. Es importante destacar que para descargar la copia de tus Tweets tienes que facilitar el usuario y contraseña de tu cuenta.


Leer el resto de la entrada »

Etiquetas : , , , , ,