Author Archive

Activar windows 7 legalmente

Escrita por UTAN, 19 mayo 2012 (2) Comentarios

En este guía te voy a guiar a como activar Windows 7 todas las ediciones (Ultimate, business,Home Premiun, Basic) x64, x32 Legalmente (sin cracks o loader de ninguna clase).

Activaremos la version Windows 7 business

Para esta guía voy a usar el Certificado de Dell, en una Dell con Windows business X64 instalado, pero el método se usa en todas las versiones de Windows sin problemas, ademas la instalación es fresca sin ningún crack o Loader de activación…..

Cerciorate de tener lo siguiente en tu computadora:

  • La tabla ACPI con SLic 2.1, ya sea que venga originalmente con tu computadora o que aya sido inyectada en tu Bios, si no lo sabes leete esta guía Tienes Slic 2.1 para activar Windows 7?. .
  • Los Certificates de Microsoft, descárgalos desde aqui necesitas una utilidad para extraerlo como 7zip, utiliza los certificados que se encuentran el folder slic 2.1.
  • Los seriales de Windows 7, los puedes encontrar dándole clic Oem SLP serial para activar Windows 7

Una ves tienes todos los requerimientos proseguimos con el proceso de activación Offline, o en ingles (Offline Activation).

Activación Offline

  • Desconecta tu computadora de la Net, ya que la activación es offline no necesitaremos internet.
  • Descomprime el archivo donde se encuentran los Windows Cert (Certificados).
  • Copia y pega el certificado de Microsoft en la letra de tu disco duro ejemplo: C:\ , que sea el respectivo a la marca de la maquina a la que estas activando, ejemplo: Dell, Acer,Toshiba,Sony son algunos ejemplos. Pero en particular usaremos el Cert para una Dell.
  • Asegura que puedas ver la extensión de el certificado, si no lo ves como ejemplo: DELL.XRM-MS entonces ve a control panel y cambia la configuración para mostrar las extensiones de los archivos.
  • Ya teniendo el Certificado XrML Digital License en tu disco duro C:\ , corre estos comandos como administrador , abre el “command prompt” clic derecho y elije como administrador corre lo siguiente:
    slmgr.vbs -ilc c:\DELL.xrm-ms
  • Esperamos que el “Script Host” te responda que fue instalado satisfactoriamente, puede tardar unos minutos en responder, no te aflijas…
  • Sabiendo que el certificado se instalo bien, pasamos a correr el siguiente comando:
    slmgr.vbs -ipk 32KD2-K9CTF-M3DJT-4J3WC-733WD
  • Ve a el icono de tu computadora dale clic derecho ve a propiedades una ventana se abrirá y veras en la parte baja de esa ventana que Windows esta activado..

Conclusión

Ya completado todo ya tendrás tu Windows 7 cualquier edición activado..
A mi punto de vista Windows 7 es uno de los mejores sistema operativo que Microsoft a Lanzado,
espero que Windows 8 sea al igual que Windows 7 otro buen sistema operativo..
solo nos queda esperar…

Categorias : Guias para la Web,Sistemas Operativos gratis,windows 7 Etiquetas :

Como usar torrents

Escrita por UTAN, 14 mayo 2012 (0) Comentario

Los torrents son la manera mas fácil de conseguir programas legales e ilegales que existe en la web, pero como todo en la web lo que descargues tienes que pasarle un antivirus escaneó para que estés seguro que no exista algún Virus, Troyano, root kit, Spyware , Backdoors o otro malware en general…

nota a la Piratería

Aunque creo la guiá como usar torrents , queriendo que sea de ayuda para utilizar esta poderosa herramienta, no estoy de acuerdo con la piratería sin embargo creo en el derecho que tenemos de hacer con nuestro Internet lo que queramos de una manera anónima y que nadie nos espié..
trato de explicar como usar torrents.

Como usar torrents

En esta guia como usar torrents, explicare algunas cositas importantes.
Antes que te aprestes a instalar un programa para descargar torrents es importante tener en cuenta la privacidad y la seguridad de tu conexión , por eso antes de usar un programa como Utorrent , instala un bloqueador de Peers como PeerBock.

El primer programa requerido PeerBlock (Importante)

Este pequeño programa bloquea los ips de organizaciones encontrá la piratería, fuese cosa que solo espiaran a los que si están haciendo cosas indebidas pero lo hacen con todos, es decir si estas bajando un programa gratis como el Ubuntu, encontraras que algunos ips de estas organizaciones te están espiando.. aunque UBUNTU es sistema operativo gratis para todo el mundo..

Instalación de PeerBlock

  • Descarga Peerblock 1.1 Installer soporta todo los sistema Operativos, desde el Windows XP hasta el Windows 7 todas las versiones, x64 y x86 = 64 bits y o 32 bits.
  • Instala el programa dando dos clics al instalador , recuerda que si estas en Windows Vista o Windows 7 debes tener permisos de administración para que se instale.
  • Una ves instalado si no se activa solo , dale dos clics al icono de Peerblock, se abrirá y empezara a descarga de la Internet, esto es normal descarga los ips a los que no deberías de conectarte en el Peer cuando estés descargando un programa.

Protegido Completamente, (No completamente)

  • Cuando buscas torrentez para buscar tus programas, existen lugares (Sitios Web) que catalogan los enlaces. Muchos los catalogan por genero o por otros sujetos.. sin embargo cuando buscas podrías estar haciéndolo en forma insegura y tu ISP(Provedor de Internet) podría estar observando tu conexión y chequeando que es lo que haces con tu Internet..
  • Cuando busques en tu lugar web preferido los torrentez asegurate que tu conexión es segura, con SSL (Secure socket Layer) como saberlo es mus simple, observa que la conexión a el website este asegurada por SSL si ves en el URL https://tutorrentweb.com , la “S” te indica que estas en una conexión Segura, si por lo contrario no ves la “S” en el protocolo tu conexión no esta segura y tu ISP podría estarte espiando…
  • Recuerda siempre en actualizar tu PeerBlock, cada ves que corras el programa este tratara de actualizar con los ips mas nuevos de estas organizaciones.. siempre actualizarlo y siempre observa que te informe de la cantidad de ips que tiene en su cache..
  • Corre PeerBlock antes de iniciar utorrent o u otro programa para descargar torrentes, puesto si descargaste algo o no terminantes de descargar y por alguna razón apagaste la PC , al reiniciar la PC y al reiniciar tu programa torrente este se conectara a los peers o PCs que tienen las piezas del programa y si PeerBlock no esta iniciado pues estarás vulnerable y cualquier ip que este chequeando te detectara y salvara tu ip..

Lo Ultimo

Con esos pequeños tips, estarás mas seguro de no ser espiado la verdad si estas haciendo las cosa de una manera correcta no necesitas ser espiado por tu ISp or que otros se conecten solo para ver que es lo que esta haciendo o que estas descargando…

En otra oportunidad hablare de uTorrent excelente utilidad para descarga torrentes mu fácil de usar y con otros tips puedes tener excelente velocidad de descarga..

Categorias : Guias para la Web Etiquetas :

Important Fixes, for phpfreechat 1.3

Escrita por UTAN, 2 mayo 2012 (0) Comentario

Hi,

This post is about some very annoying issues PFC chat has.. it is important that you patch your current version phpfreechat 1.3 right away to avoid problems with you chat room..

This will fix the following issues in your PFC chat 1.3.

1.- Flood issues with the “/notice” command.
Users will not kicked from chat if they use this command to spam your chat room.

2 .- Flood issues with the “/invite” command.
Again users using this command can flood your chat room and wont be kicked by noflood.

3.- Fixes problem when user doesn’t type anything in the chat room and press enter repeatedly.
Noflood.class.php script will count this as spam and kick the user doing it.

4.- Fixes a Mayor security problem with the “/notice” command. (IMPORTANT PATCH).
Users using this command can post any messages without showing their nick, and or
to pretend to be the admin webmaster or else.

Please copy paste the following code, they are going in two different documents in you current installation phpfreechat 1.3:

Patch no flood class, located at “/src/proxies/noflood.class.php

<?php
/**
 * noflood.class.php
 *
 * Copyright © 2006 Stephane Gully <stephane.gully@gmail.com>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library 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
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the
 * Free Software Foundation, 51 Franklin St, Fifth Floor,
 * Boston, MA  02110-1301  USA
 */
require_once dirname(__FILE__)."/../pfci18n.class.php";
require_once dirname(__FILE__)."/../pfcuserconfig.class.php";
require_once dirname(__FILE__)."/../pfcproxycommand.class.php";
require_once dirname(__FILE__)."/../../lib/utf8/utf8_strlen.php";

/**
 * pfcProxyCommand_noflood
 * this proxy will protect the chat from flooders
 * @author Stephane Gully <stephane.gully@gmail.com>
 * fixes noflood not detecting /notice, /invite and
 * kicking user when the type empy string in chat.
 * Neumann Valle, vcomputadoras@yahoo.com
 */
class pfcProxyCommand_noflood extends pfcProxyCommand
{
  function run(&$xml_reponse, $p)
  {
    $clientid    = $p["clientid"];
    $param       = $p["param"];
    $sender      = $p["sender"];
    $recipient   = $p["recipient"];
    $recipientid = $p["recipientid"];

    $c =& pfcGlobalConfig::Instance();
    $u =& pfcUserConfig::Instance();
    /**
     * fixes some anoying issues with noflood not detecting user flooding the chat
     * those are notice and invite
     */
    $cmdtocheck = array("send", "nick", "me","notice","invite");

    // fixes the count of noflood even if the text posted was empty (Neumann Valle (UTAN))
    if ( in_array($this->name, $cmdtocheck) && $param != "")
    {
      $container =& pfcContainer::Instance();
      $nickid        = $u->nickid;
      $isadmin       = $container->getUserMeta($nickid, 'isadmin');
      $lastfloodtime = $container->getUserMeta($nickid, 'floodtime');
      $flood_nbmsg   = $container->getUserMeta($nickid, 'flood_nbmsg');
      $flood_nbchar  = $container->getUserMeta($nickid, 'flood_nbchar');
      $floodtime     = time();

      if ($floodtime - $lastfloodtime <= $c->proxies_cfg[$this->proxyname]["delay"])
      {
        // update the number of posted message indicator
        $flood_nbmsg++;
        // update the number of posted characteres indicator
        $flood_nbchar += utf8_strlen($param);
      }
      else
      {
        $flood_nbmsg = 0;
        $flood_nbchar = 0;
      }

      if (!$isadmin &&
          ($flood_nbmsg>$c->proxies_cfg[$this->proxyname]["msglimit"] ||
           $flood_nbchar>$c->proxies_cfg[$this->proxyname]["charlimit"])
          )
      {
        // warn the flooder
        $msg = _pfc("Please don't post so many message, flood is not tolerated");
        $xml_reponse->script("alert('".addslashes($msg)."');");

        // kick the flooder
        $cmdp = $p;
        $cmdp["param"] = null;
        $cmdp["params"][0] = "ch";
        $cmdp["params"][1] = $u->channels[$recipientid]["name"];
        $cmdp["params"][2] .=_pfc("kicked from %s by %s", $u->channels[$recipientid]["name"], "noflood");
        $cmd =& pfcCommand::Factory("leave");
        $cmd->run($xml_reponse, $cmdp);
        return false;
      }

      if ($flood_nbmsg == 0)
        $container->setUserMeta($nickid, 'floodtime', $floodtime);
      $container->setUserMeta($nickid,   'flood_nbmsg',  $flood_nbmsg);
      $container->setUserMeta($nickid,   'flood_nbchar', $flood_nbchar);
    }

    // forward the command to the next proxy or to the final command
    $p["clientid"]    = $clientid;
    $p["param"]       = $param;
    $p["sender"]      = $sender;
    $p["recipient"]   = $recipient;
    $p["recipientid"] = $recipientid;
    return $this->next->run($xml_reponse, $p);
  }
}
?>

Ok that one is down, lets locate the next document it is located at “src/commands/notice.class.php”

copy paste this code:

<?php
/*
 * Fixes a long problematic security breach, well somebody pose as Admin nick is a breach
 * even if he doesn't have admin powers..
 * fix by UTAN aka Neumann Valle, you can contact me at vcomputadoras@yahoo.com
 * fix for notice, where any user could use it to pose as admin nick or other user, or non
 * existence user, 05/01/2012.
 */
require_once(dirname(__FILE__)."/../pfccommand.class.php");

class pfcCommand_notice extends pfcCommand
{
  function run(&$xml_reponse, $p)
  {
    $clientid    = $p["clientid"];
    $msg         = $p["param"];
    $sender      = $p["sender"];
    $recipient   = $p["recipient"];
    $recipientid = $p["recipientid"];
    $flag        = isset($p["flag"]) ? $p["flag"] : 7;

    $c  =& pfcGlobalConfig::Instance();
    $u  =& pfcUserConfig::Instance();
    $ct =& pfcContainer::Instance();

    if ($c->shownotice > 0 &&
        ($c->shownotice & $flag) == $flag)
    {
      $msg = phpFreeChat::FilterSpecialChar($msg);

	  $msg = $flag == 7 ? '('.$sender.') '.$msg : $msg;

      $nick = $ct->getNickname($u->nickid);
      $res = $ct->write($recipient, $nick, "notice", $msg);
      if (is_array($res))
      {
        $cmdp = $p;
        $cmdp["param"] = implode(",",$res);
        $cmd =& pfcCommand::Factory("error");
        $cmd->run($xml_reponse, $cmdp);
        return;
      }
    }
  }
}

?>

So that’s it, this is fix is all done, maybe Oldwolf friend can make this post sticky…

Categorias : Guias para la Web,php y algo mas Etiquetas :

refrescar diferentes divs con javascript y ajax

Escrita por UTAN, 20 agosto 2011 (41) Comentarios

En un POST anterior les deje un tutorial de como refrescar un div tag sin necesidad de refrescar la pagina completa, bien en esta ocasión e pulido mejor el código y e creado una función que refresque cualquier cantidad de DIVs sin necesidad que se refresque la pagina completa..
Esto facilita el uso del código para cualquier circunstancia que nos enfrentemos al crear nuestra web..

Refrescando diferentes div tags usando javascript y ajax.

La función que usaremos se llama refreshDivs(divid , secs , url) , la función acepta 3 parámetros mandatarios:

  • divid = este es el ID del div que quieres refrescar.
  • secs = los segundo en que deseas que el div se refresque.
  • url = La dirección del documento que deseas que aparezca en el DIV.

El URL puede ser cualquier clase de documento, sea php, html, shtml etc ..

Ok ahora el paso a seguir es colocar en tu html entre los “<head>” tags el siguiente código abajo mostrado.

<script type="text/javascript" language="javascript">
function refreshDivs(divid,secs,url)
{

// define our vars
var divid,secs,url,fetch_unix_timestamp;

// Chequeamos que las variables no esten vacias..
if(divid == ""){ alert('Error: escribe el id del div que quieres refrescar'); return;}
else if(!document.getElementById(divid)){ alert('Error: el Div ID selectionado no esta definido: '+divid); return;}
else if(secs == ""){ alert('Error: indica la cantidad de segundos que quieres que el div se refresque'); return;}
else if(url == ""){ alert('Error: la URL del documento que quieres cargar en el div no puede estar vacia.'); return;}

// The XMLHttpRequest object

var xmlHttp;
try{
xmlHttp=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
}
catch (e){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
}
catch (e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){
alert("Tu explorador no soporta AJAX.");
return false;
}
}
}

// Timestamp para evitar que se cachee el array GET

fetch_unix_timestamp = function()
{
return parseInt(new Date().getTime().toString().substring(0, 10))
}

var timestamp = fetch_unix_timestamp();
var nocacheurl = url+"?t="+timestamp;

// the ajax call
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
document.getElementById(divid).innerHTML=xmlHttp.responseText;
setTimeout(function(){refreshDivs(divid,secs,url);},secs*1000);
}
}
xmlHttp.open("GET",nocacheurl,true);
xmlHttp.send(null);
}

// LLamamos las funciones con los repectivos parametros de los DIVs que queremos refrescar.
window.onload = function startrefresh(){
refreshDivs('div1',5,'div1.php');
refreshDivs('div2',3,'div2.php');
refreshDivs('div3',10,'div3.php');
}
</script>

La parte del código donde indicamos que divs hay que refrescar es la siguiente:

window.onload = function startrefresh(){
refreshDivs('div1',5,'div1.php');
refreshDivs('div2',3,'div2.php');
refreshDivs('div3',10,'div3.php');
}

Utilizando el evento window.onload hacemos que nuestro explorador corra la función y esta nos refresque los divs que deseamos que sean refrescado sin necesidad de recargar o refrescar la pagina completa..
Repite las funciones con diferentes div, tiempos y urls no hay limitaciones a la cantidad de veces que quieras usarla.

En nuestro ejemplo, usare documentos php, pero no es necesario puede ser cualquier clase de documentos mientra sean soportados por tu webserver o hosting service.

div1.php

div1.php sera un simple script que cambiara números al azar, como verán este es el documento llamado en la función arriba que es refreshDivs(‘div1′,5,’div1.php’).

Este documento sera llamado cada 5 segundos y se mostrara en el div1
Los otros dos ejemplos son similares a este primero, solo cambian el ID del DIV el tiempo en segundos y la url o la dirección del documento PHP.

<?php
echo "<p style=\"background-color:#FF7400\">Aqu&#237; obtendremos n&#250;meros al asar ".rand(1, 1000)."</p>";
?>

div2.php

div2.php repetirá las palabras “Por favor repite me” tantas veces como la variable $veces sea definida por la funcion rand() .

<?php
$veces = rand(1,20);

for($i= 0; $i <= $veces; $i++)
  {
	  echo "<p style=\"background-color:#356AA0\">".$i." Por favor repite me, ".$veces." veces.</p>";
  }
?>

div3.php

Es el mismo caso para el div3.php, repetirá las palabras “Por favor repite me” tantas veces como la variable $veces sea definida por la funcion rand() , con la única diferencia que el color de el fondo es diferente y la cantidad de segundos a refrescar…

<?php
$veces = rand(1,20);

for($i= 0; $i <= $veces; $i++)
  {
	  echo "<p style=\"background-color:#C79810\">".$i." Por favor repite me, ".$veces." veces.</p>";
  }
?>

Estos son simples ejemplos donde podrás observar como trabaja la función de la que hablamos..

Otros usos

No solo puedes refrescar con Ajax divs si no también otros html tags, como span , form, tablas, H, P y otros mas , tan solo tienes que definir un id para esa tag, una nota importante es que al documento que se llame debe correr o parsear el contenido en tu servidor, ya que el Ajax es en el Cliente osea tu explorador.

Si este documento es un archivo TXT y tiene código javascript es posible que tu explorador lo corra pero si es archivo TXT tiene código PHP, JSP o u otros no sera parseado por el Ajax, lo que pinteara en tu pagina es el código en si tal cual..

Veamos todo el código con el HTML:

<html>
<head>
<title>Ejemplos de como refrescar varios div tags usando javascript y ajax.</title>
<script language="Javascript" type="text/javascript">
function refreshDivs(divid,secs,url)
{

// define our vars
var divid,secs,url,fetch_unix_timestamp;

// Chequeamos que las variables no esten vacias..
if(divid == ""){ alert('Error: escribe el id del div que quieres refrescar'); return;}
else if(!document.getElementById(divid)){ alert('Error: el Div ID selectionado no esta definido: '+divid); return;}
else if(secs == ""){ alert('Error: indica la cantidad de segundos que quieres que el div se refresque'); return;}
else if(url == ""){ alert('Error: la URL del documento que quieres cargar en el div no puede estar vacia.'); return;}

// The XMLHttpRequest object

var xmlHttp;
try{
xmlHttp=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
}
catch (e){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
}
catch (e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){
alert("Tu explorador no soporta AJAX.");
return false;
}
}
}

// Timestamp para evitar que se cachee el array GET

fetch_unix_timestamp = function()
{
return parseInt(new Date().getTime().toString().substring(0, 10))
}

var timestamp = fetch_unix_timestamp();
var nocacheurl = url+"?t="+timestamp;

// the ajax call
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
document.getElementById(divid).innerHTML=xmlHttp.responseText;
setTimeout(function(){refreshDivs(divid,secs,url);},secs*1000);
}
}
xmlHttp.open("GET",nocacheurl,true);
xmlHttp.send(null);
}

// LLamamos las funciones con los repectivos parametros de los DIVs que queremos refrescar.
window.onload = function startrefresh(){
refreshDivs('div1',5,'div1.php');
refreshDivs('div2',3,'div2.php');
refreshDivs('div3',10,'div3.php');
}
</script>
</head>
<body>
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
</body>
</html>

Puedes ver los ejemplos funcionando dando click en Refrescar varios Divs tags con javascript y ajax.

La función esta completa pues chequea que los parámetros estén definidos si no lo están un javascript alert te advetira del problema y el script terminara su función..

Por favor si te a gustado el código deja tu mensaje, y si encuentras algún problema no temas en postear aquí mismo gracias por Leer..

Categorias : Guias para la Web,php y algo mas,Un poco de html Etiquetas :