Archivo

Archivo del autor

Classic ASP Curl

abril 19, 2015 Deja un comentario

En algunas ocasiones es necesario autenticarse en otro sitio y mantener las Cookies, en PHP existe CURL que funciona muy bien.. encontre un post en stackoverflow y le hice una pequeña modificación y funciona bastante bien:

Option Explicit

Function Fetch(ByVal URL, ByVal sHdrName)
Dim http
Set http = CreateObject(“WinHttp.WinHttpRequest.5.1”)
http.open “GET”, URL, False
http.Send
Fetch = getHeaders(http, sHdrName)
Set http = Nothing
End Function

Function getHeaders(oReq, sHdrName)
Dim tHdrName : tHdrName = Trim(sHdrName) & “: ”
Dim tArr : tArr = Split(oReq.getAllResponseHeaders(), vbCrLf)
tArr = Filter(tArr, tHdrName, True, vbTextCompare)
Dim i
For i = 0 To UBound(tArr)
tArr(i) = Mid(tArr(i), Len(tHdrName) + 1, Len(tArr(i)))
Next
getHeaders = tArr ‘Returns Array
End Function

Dim iHdrVal
For Each iHdrVal In Fetch(“http://www.sitio.com/login.asp?username=124&password=124”, “Set-Cookie”)
Response.AddHeader “Set-Cookie”, iHdrVal
Next

Si ejecutamos este script bajo el mismo dominio nos permitirá recuperar las cookies y enviarlas al browser, idealmente para hacer integraciones en un mismo dominio.

http://stackoverflow.com/questions/7405516/retrieving-multiple-cookies-in-vbscript

Categorías:Uncategorized Etiquetas:

Los números de 2014

diciembre 30, 2014 Deja un comentario

Los duendes de las estadísticas de WordPress.com prepararon un informe sobre el año 2014 de este blog.

Aquí hay un extracto:

La sala de conciertos de la Ópera de Sydney contiene 2.700 personas. Este blog ha sido visto cerca de 10.000 veces en 2014. Si fuera un concierto en el Sydney Opera House, se se necesitarían alrededor de 4 presentaciones con entradas agotadas para que todos lo vean.

Haz click para ver el reporte completo.

Categorías:Uncategorized

Jquery Inputs Dinámicos, Validación , Guardado de Datos

septiembre 4, 2014 22 comentarios

Debido a las dudas de un Post bastante antiguo que tengo en el Blog, realicé un ejemplo básico de lo siguiente:

1.- Creación de un formulario Dinámico ( Solo Ingreso de Datos)
2.- Validación básica (Javascript)
3.- Como enviar los datos a un servicio para que este los guarde (php, java , asp, etc)

La idea es lograr algo así:

Formulario

Para eso les dejo el código (html/js) que es bastante simple:

Para el caso del servicio que debe procesar los datos, en este caso se llama guardar.php, y se debe implementar el acceso a datos mediante php-mysql, por ahora dejar claro de como recibir los datos, ya ustedes
programan los inserts a la base de datos.

<?php
if(isset($_POST['prod']) && !empty($_POST['prod'])){
        echo join(",",$_POST['prod']);
}else{
  echo 'failed';
}

Como se puede ver el valor de los input está contenido en el arreglo $_POST[‘prod’], básicamente se verifica que no esté vacío es ahí donde deben enviar el arreglo a su clase de bases de datos y guardar.

Saludos

Categorías:html, jquery, php Etiquetas:

Concerns en Ruby on Rails

septiembre 4, 2014 Deja un comentario

Una buena manera de mantener bien organizados los modelos en RoR 4 es usar Concerns, permite simplificar los modelos cuando estos crecen demasiado y reutilizar código (DRY), aunque hoy en día recomiendo utilizar Services Objects.

Un ejemplo dice más que mil palabras:

#app/models/concerns/authentication.rb
module Authentication
  extend ActiveSupport::Concern

  	included do
  			has_secure_password
  			attr_accessor :password_confirmation
  	end

module ClassMethods

  	def authenticate(username,password)
			user = find_by_username(username)
			if user && user.authenticate(password)
				user.last_login
				user
			end
	end

end

	def email_downcase
		self.email = self.email.downcase
	end

	def last_login
			update_column(:last_login, Time.now)
	end

end
end
#app/models/concerns/validation.rb
module Validation
	extend ActiveSupport::Concern

	included do
		validates :username,:password_digest,:nombre, presence: true
		validates :apellido,:fecha_nacimiento,:email, presence: true
	    validates :email, uniqueness: true
		before_validation :email_downcase
	end

end
# app/models/user.rb
class User < ActiveRecord::Base
	    include Authentication
	    include Validation
end

Como podemos ver se definieron 2 Concerns , los cuales se encargaran de la Autenticación y Validación respectivamente, lo único a tener en cuenta es “module ClassMethods”, en donde debemos poner nuestros metodos de clase y así poderlo llamarlos desde el controlador de la siguiente manera: User.authenticate, espero sirva de base.

Categorías:Uncategorized Etiquetas: ,

Clonar tabla particiones Linux

junio 11, 2014 Deja un comentario

Suele pasar que tenemos un raid por software y un disco falla…., debemos comprar otro y crear las mismas particiones que el disco bueno, este comando lo hace por nosotros


sfdisk -d /dev/sda > tabla_particiones


sfdisk /dev/sda < tabla_particiones

PD: Muy parecido a Mysqldump

Categorías:linux

Agregar Dispositivo iSCSI en CentOS 6.X Iomega storcenter ix2-200

julio 24, 2013 Deja un comentario

Una de las características de este Storage es la posibilidad de compartir discos mediante este estándar, para ello debemos configurar el acceso ISCSI en el storage, habilitar la seguridad y finalmente agregar un usuario (La clave debe tener 13 Caracteres).

Editamos

vi /etc/iscsi/iscsid.conf
node.session.auth.authmethod = CHAP
node.session.auth.username = operador
node.session.auth.password = 123456789abdcd

Ejecutamos:
iscsiadm -m discovery -t sendtargets -p 192.168.0.100:3260
iscsiadm -m node -T iqn.1992-04.com.emc:storage.storage.server -p 192.16 8.0.100:3260 -l
chkconfig iscsi on

Luego de esto verificamos
ls -l /dev/disk/by-path/
lrwxrwxrwx 1 root root 9 jul 24 12:21 ip-192.168.0.100:3260-iscsi-iqn.1992-04.com.emc:storage.storage.server-lun-0 -> ../../sdc

Lo demás es historia conocida, particionar y formatear ( fdisk /dev/sdc ; mkfs.ext4 /dev/sdc1).

Espero sea de utilidad.

Saludos

Categorías:Uncategorized

Montar VHD Existente en Citrix Mediante NFS

mayo 10, 2012 1 comentario

La semana pasada nos toco reemplazar un disco en un servidor HP, el cual estaba dando problemas de escritura, bueno cuento corto había información que por algúna razón no se respaldo y tuvimos que recuperarla, teníamos el servidor funcionando en producción, por lo que no podíamos desconectarlo, tampoco contábamos con una maquina en la cual instalar Citrix y poder montar nuestro disco, solo contábamos con un viejo Pentium 4 sin soporte para virtualización, por lo que bajamos un LiveCD de Linux (Ubuntu 11.x) y iniciamos el sistema.
Como sabemos Citrix crea una partición de tipo LVM, por lo que debimos instalar el soporte en Ubuntu mediante:

sudo apt-get install lvm2
Luego montamos el dispositivo mediante los siguientes comandos
Sudo vgdisplay ( Sacamos el nombre del volumegroup)
sudo vgchange -ay /dev/VolGroup01 (El nombre de nuestro volumen, obtenido con el comando anterior)

sudo lvdisplay (Sacamos el nombre del dispositivo lógico)

Montamos el filesystem:

sudo mount /dev/VolGroup01/LogVol03 /mnt

Luego de esto vemos la partición /mnt y nos encontramos con el archivo .vhd que nos genera Xen Server.

Siguiente Paso

Configurar un servidor NFS en nuestra máquina para poder montarlo mediante Citrix Xen Center, para eso seguiremos la siguiente guía http://ubuntuforums.org/showthread.php?t=249889 y dejaremos compartido el directorio /mnt

nfs citrix

nfs citrix

Una vez montando nuestro servidor, nos vamos a Xen Center y Creamos un Storage basado en NFS, en mi caso no detecto que existieran SR por lo que me creo un directorio en /mnt al cual movi el archivo vhd mediante.

mv disco.vhd storage_creadopor_xen

Usamos el boton SCAN de xen y ya tenemos el disco en funcionamiento sin tener que intervener el servidor.

Cualquier duda me comentan, ya que está bastante resumido

Referencias:
http://johnsofteng.wordpress.com/2010/01/28/ubuntu-livecd-mount-lvm2-fs/
http://ubuntuforums.org/showthread.php?t=249889