Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - madpitbull_99

#971
Redes / Re: duda certificación cisco
28 Febrero 2011, 22:53 PM
Si, te puedes presentar al examen de certificación sin haberte preparado en una academia. En teoría, las academias solamente te preparan para el examen.

Con el material de estudio que hay en Internet y los exámenes virtuales y dedicarle unas buenas horas de estudio puedes aprobar sin problemas prueba.
#972
Desarrollo Web / Re: Integrar GDocs a Joomla
28 Febrero 2011, 11:45 AM
Por lo visto en JoomlaCode (proyectos para Joomla) hay un plugin que permite la integración de GDocs con Joomla .

Módulos o Plugins que podrías emplear para el Joomla:
_Document Manager (Remository).
_Componente para Colegio (Muy util para administrar profesores, alumnos, notas, etc).

Para el tema de los documentos lo que necesitas se llama "Document Manager", uno bastante popular para Joomla es DOCMan, hay otros mas como este, por ejemplo RubberDoc y otros mas.

Te dejo un eBook que te puede servir con tu web: Creating School Sites with Joomla.

Saludos y suerte con tu proyecto!
#973
Redes / Re: Duda Servidor Dedicado
28 Febrero 2011, 08:28 AM
Solo por usar Windows en el servidor dedicado te cobraran mas dinero, te dejo una lista de hostings que disponen de SO Windows:
_ServerIntellect
_ServerPoint
_DedicatedNow
_ServerPronto (Poca información)
_GameServer (Orientado a servidores de Juegos)

El precio varia en cada uno, fíjate también en la opinión de los usuarios. A ver si alguien mas recomienda servidores para juegos.
#974
Redes / Re: Duda básica
28 Febrero 2011, 08:18 AM
CitarY si mi fichero está como sigue?


auto lo
iface lo inet loopback

¿En qué está?
El interface lo es es el interface de bucle local o el loopback, ese tiene que estar obligatoriamente en el archivo de configuración de la tarjeta de red.

Citar
¿Si el usuario me da "dinamica" solo tengo que volcar al archivo /etc/network/interfaces lo siguiente?

iface eth0 inet dhcp
¿qué es lo que debiera tener en cuenta? ¿o solo así como te lo pongo?
Si, así pediría una IP por DHCP al servidor que hay en la red. Debes tener en cuenta que el nombre del interfaz es diferente en cada sistema.
En un equipo se puede llamar eth0 y en otro se puede llamar eth3. Para ver el nombre que tiene la tarjeta de red en un equipo puedes ejecutar el comando ifconfig -a y luego parsear (con regex, por ejemplo) la palabra que empieza por eth* y así sacar el nombre del interfaz de red.

Citar¿Se pueden tener varias interfaces?
Si, un equipo puede tener mas de una tarjeta de red, si se trata de un servidor proxy o un firewall, tendrá mas de una tarjeta de red.

Citar¿Es decir, con cada llamada al script puedo sobreescribir los valores o tengo que agregar al final dependiendo de lo que me de el usuario?
Puedes sobreescribirlo, al final del script si todas las acciones se han realizado bien, reinicia el daemon de la tarjeta de red: /etc/init.d/networking restart.



Mira un script parecido a lo que quieres hacer:

Código (bash) [Seleccionar]
#/bin/bash
# Author: Joshua Bailey
# Name: netHome
# Syntax: netHome
# Summary: used to fix your network settings after
# changing them for another location (or dhcp)

function getCurIP
{
# $1 should be the device
ifconfig $1 | grep inet > ~/ip.find
cat ~/ip.find | awk '{print $2}' > ~/ip.find
CUR_IP=`cat ~/ip.find`
CUR_IP=${CUR_IP:5:${#CUR_IP}-5}
rm ~/ip.find
}

# setting the domain name
read -p "Please input your domainname (`domainname`): " DMN
if [[ ${#DMN} == 0 ]]
then
DMN=`domainname`
fi
# end setting domain name

# setting the hostname
read -p "Please input your hostname (`hostname`): " HSN
if [[ ${#HSN} == 0 ]]
then
HSN=`hostname`
fi
# end setting hostname

# setting the device
read -p "Please input your the device you will be using (eth0): " DEV
if [[ ${#DEV} == 0 ]]
then
DEV=eth0
fi
# end setting device

# get the current ip
getCurIP $DEV

# setting the ip
read -p "Please input your chosen IP for this machine ($CUR_IP): " IP

if [[ ${#IP} == 0 ]]
then
IP=$CUR_IP
fi

ifconfig $DEV up
ifconfig eth0 | grep $IP > /var/null

if [[ $? != 0 ]]
then
ifconfig $DEV down
echo "*** IP not set ***"
echo "*** Setting ***"
ifconfig $DEV $IP
ifconfig $DEV up
else
echo "*** IP matches ***"
echo "*** No changes made ***"
fi
# end setting the ip

# setting the default gateway
echo "*** Checking default gateway ***"
echo "*** This may take some time ***"
echo "*** Please wait ***"

route > ~/test.route
cat ~/test.route | awk '{if ($1 == "default") print $2;}' > ~/test2.route
CUR_DEF=`cat ~/test2.route`
read -p "Please input your default gateway ($CUR_DEF): " DEF

if [[ ${#DEF} == 0 ]]
then
DEF=$CUR_DEF
fi

cat ~/test.route | awk -v GW=$DEF '{if ($2 == GW) print $2;}' > ~/found.route
FOUNDIT=`cat ~/found.route`

if [[ $FOUNDIT == $DEF ]]
then
echo "*** Default gateway matches ***"
echo "*** No changes made ***"
else
route del default 2> /dev/null
# route add default gw $DEF dev $DEV
echo "*** Default gateway set ***"
fi

rm -f ~/*.route
# end setting the default gateway

# begin setting dns
grep search /etc/resolv.conf >~/search.dns
TEMP=`grep -n nameserver /etc/resolv.conf`
echo $TEMP > nameserver.dns

cat ~/search.dns | awk '{print $2;}' > ~/search.dns
CUR_PRIM=`echo $TEMP | awk '{print $2}'`
CUR_SEC=`echo $TEMP | awk '{print $4}'`

read -p "Please input your primary dns ip ($CUR_PRIM): " PRIM
if [[ ${#PRIM} == 0 ]]
then
PRIM=$CUR_PRIM
fi

read -p "Please input your secondary dns ip ($CUR_SEC): " SEC
if [[ ${#SEC} == 0 ]]
then
SEC=$CUR_SEC
fi



echo "*** Checking DNS entries ***"
CON=`cat /etc/resolv.conf | grep $DMN`
CON2=`cat /etc/resolv.conf | grep $PRIM`
CON3=`cat /etc/resolv.conf | grep $SEC`
if [[ ! ${#CON} -gt 0 || ! ${#CON2} -gt 0 || ! ${#CON3} -gt 0 ]]
then
echo "*** Editing /etc/resolv.conf ***"
echo "search $DMN" > /etc/resolv.conf
echo "nameserver $PRIM" >> /etc/resolv.conf
echo "nameserver $SEC" >> /etc/resolv.conf
else
echo "*** All DNS entries match ***"
echo "*** No changes made ***"
fi
# end setting dns

Fuente
#975
Puedes usar la herramienta NTBackup. Con esta herramienta puedes hacer el backup en otro equipo de la red.

Mira un ejemplo de como se haría en Consola y guardando el fichero en un equipo de la red:

Código (bash) [Seleccionar]
ntbackup backup systemstate /J "System State Backup Job" /F " \\backup_server\AD_Backups\%date%_backup.bkf"

Lo guardas en un fichero .bat y lo ejecutas periódicamente usando el Programador de Tareas.

El NtBackup también se puede usar en entorno gráfico [Vídeo].

Te dejo un enlace con documentación en Technet:
_Backing Up Active Directory




Ya está actualizado el enlace.
#976
Otra opción que utilizo bastante a menudo es Navicat. Dispone de 2 versiones, la gratuita (claramente con algunas limitaciones) y la de pago (poco difícil encontrarla).

Permite gestionar usuarios, crear consultas y guardarlas, crear grupos, hacer backups, importación de bases de datos avanzada (en versión de pago), es multi plataforma, etc.


#977
Desarrollo Web / Re: Validar tarjetas de crédito
26 Febrero 2011, 19:06 PM
Con javascript o PHP puedes hacerte una función que compruebe si la tarjeta de crédito es valida.
Al final de la respuesta te dejo un ejemplo en JS de como se haría la comprobación.

Citaro si tengo que conectarme al banco para comprobar que no me están dando gato por liebre.
Es fácil, si el banco devuelve el pago, no se realiza el envió (por ejemplo, si se trata de una tienda).

Puedes leer mas sobre como funciona este sistema: Sistema de Pagos Electrónico.

Otra forma "es conectarte a los bancos" como tu dices, hay muchos que disponen de WebServices, por ejemplo Paypal (aunque no se trata de un banco):
_Using PayPal's Instant Payment Notification with PHP
_PayPal Web Services


Ejemplo de comprobación de tarjetas con javascript:

Código (javascript) [Seleccionar]
<!-- TWO STEPS TO INSTALL CREDIT CARD VALIDATION:

1. Copy the coding into the HEAD of your HTML document
2. Add the last code into the BODY of your HTML document -->

<!-- STEP ONE: Paste this code into the HEAD of your HTML document -->

<HEAD>

<SCRIPT LANGUAGE="javascript">
<!-- Original: Simon Tneoh (tneohcb@pc.jaring.my) -->

<!-- This script and many more are available free online at -->
<!-- The javascript Source!! http://javascript.internet.com -->

<!-- Begin
var Cards = new makeArray(8);
Cards[0] = new CardType("MasterCard", "51,52,53,54,55", "16");
var MasterCard = Cards[0];
Cards[1] = new CardType("VisaCard", "4", "13,16");
var VisaCard = Cards[1];
Cards[2] = new CardType("AmExCard", "34,37", "15");
var AmExCard = Cards[2];
Cards[3] = new CardType("DinersClubCard", "30,36,38", "14");
var DinersClubCard = Cards[3];
Cards[4] = new CardType("DiscoverCard", "6011", "16");
var DiscoverCard = Cards[4];
Cards[5] = new CardType("enRouteCard", "2014,2149", "15");
var enRouteCard = Cards[5];
Cards[6] = new CardType("JCBCard", "3088,3096,3112,3158,3337,3528", "16");
var JCBCard = Cards[6];
var LuhnCheckSum = Cards[7] = new CardType();

/*************************************************************************\
CheckCardNumber(form)
function called when users click the "check" button.
\*************************************************************************/
function CheckCardNumber(form) {
var tmpyear;
if (form.CardNumber.value.length == 0) {
alert("Please enter a Card Number.");
form.CardNumber.focus();
return;
}
if (form.ExpYear.value.length == 0) {
alert("Please enter the Expiration Year.");
form.ExpYear.focus();
return;
}
if (form.ExpYear.value > 96)
tmpyear = "19" + form.ExpYear.value;
else if (form.ExpYear.value < 21)
tmpyear = "20" + form.ExpYear.value;
else {
alert("The Expiration Year is not valid.");
return;
}
tmpmonth = form.ExpMon.options[form.ExpMon.selectedIndex].value;
// The following line doesn't work in IE3, you need to change it
// to something like "(new CardType())...".
// if (!CardType().isExpiryDate(tmpyear, tmpmonth)) {
if (!(new CardType()).isExpiryDate(tmpyear, tmpmonth)) {
alert("This card has already expired.");
return;
}
card = form.CardType.options[form.CardType.selectedIndex].value;
var retval = eval(card + ".checkCardNumber(\"" + form.CardNumber.value +
"\", " + tmpyear + ", " + tmpmonth + ");");
cardname = "";
if (retval)



// comment this out if used on an order form
alert("This card number appears to be valid.");


else {
// The cardnumber has the valid luhn checksum, but we want to know which
// cardtype it belongs to.
for (var n = 0; n < Cards.size; n++) {
if (Cards[n].checkCardNumber(form.CardNumber.value, tmpyear, tmpmonth)) {
cardname = Cards[n].getCardType();
break;
}
}
if (cardname.length > 0) {
alert("This looks like a " + cardname + " number, not a " + card + " number.");
}
else {
alert("This card number is not valid.");
}
}
}
/*************************************************************************\
Object CardType([String cardtype, String rules, String len, int year,
int month])
cardtype : type of card, eg: MasterCard, Visa, etc.
rules : rules of the cardnumber, eg: "4", "6011", "34,37".
len : valid length of cardnumber, eg: "16,19", "13,16".
year : year of expiry date.
month : month of expiry date.
eg:
var VisaCard = new CardType("Visa", "4", "16");
var AmExCard = new CardType("AmEx", "34,37", "15");
\*************************************************************************/
function CardType() {
var n;
var argv = CardType.arguments;
var argc = CardType.arguments.length;

this.objname = "object CardType";

var tmpcardtype = (argc > 0) ? argv[0] : "CardObject";
var tmprules = (argc > 1) ? argv[1] : "0,1,2,3,4,5,6,7,8,9";
var tmplen = (argc > 2) ? argv[2] : "13,14,15,16,19";

this.setCardNumber = setCardNumber; // set CardNumber method.
this.setCardType = setCardType; // setCardType method.
this.setLen = setLen; // setLen method.
this.setRules = setRules; // setRules method.
this.setExpiryDate = setExpiryDate; // setExpiryDate method.

this.setCardType(tmpcardtype);
this.setLen(tmplen);
this.setRules(tmprules);
if (argc > 4)
this.setExpiryDate(argv[3], argv[4]);

this.checkCardNumber = checkCardNumber; // checkCardNumber method.
this.getExpiryDate = getExpiryDate; // getExpiryDate method.
this.getCardType = getCardType; // getCardType method.
this.isCardNumber = isCardNumber; // isCardNumber method.
this.isExpiryDate = isExpiryDate; // isExpiryDate method.
this.luhnCheck = luhnCheck;// luhnCheck method.
return this;
}

/*************************************************************************\
boolean checkCardNumber([String cardnumber, int year, int month])
return true if cardnumber pass the luhncheck and the expiry date is
valid, else return false.
\*************************************************************************/
function checkCardNumber() {
var argv = checkCardNumber.arguments;
var argc = checkCardNumber.arguments.length;
var cardnumber = (argc > 0) ? argv[0] : this.cardnumber;
var year = (argc > 1) ? argv[1] : this.year;
var month = (argc > 2) ? argv[2] : this.month;

this.setCardNumber(cardnumber);
this.setExpiryDate(year, month);

if (!this.isCardNumber())
return false;
if (!this.isExpiryDate())
return false;

return true;
}
/*************************************************************************\
String getCardType()
return the cardtype.
\*************************************************************************/
function getCardType() {
return this.cardtype;
}
/*************************************************************************\
String getExpiryDate()
return the expiry date.
\*************************************************************************/
function getExpiryDate() {
return this.month + "/" + this.year;
}
/*************************************************************************\
boolean isCardNumber([String cardnumber])
return true if cardnumber pass the luhncheck and the rules, else return
false.
\*************************************************************************/
function isCardNumber() {
var argv = isCardNumber.arguments;
var argc = isCardNumber.arguments.length;
var cardnumber = (argc > 0) ? argv[0] : this.cardnumber;
if (!this.luhnCheck())
return false;

for (var n = 0; n < this.len.size; n++)
if (cardnumber.toString().length == this.len[n]) {
for (var m = 0; m < this.rules.size; m++) {
var headdigit = cardnumber.substring(0, this.rules[m].toString().length);
if (headdigit == this.rules[m])
return true;
}
return false;
}
return false;
}

/*************************************************************************\
boolean isExpiryDate([int year, int month])
return true if the date is a valid expiry date,
else return false.
\*************************************************************************/
function isExpiryDate() {
var argv = isExpiryDate.arguments;
var argc = isExpiryDate.arguments.length;

year = argc > 0 ? argv[0] : this.year;
month = argc > 1 ? argv[1] : this.month;

if (!isNum(year+""))
return false;
if (!isNum(month+""))
return false;
today = new Date();
expiry = new Date(year, month);
if (today.getTime() > expiry.getTime())
return false;
else
return true;
}

/*************************************************************************\
boolean isNum(String argvalue)
return true if argvalue contains only numeric characters,
else return false.
\*************************************************************************/
function isNum(argvalue) {
argvalue = argvalue.toString();

if (argvalue.length == 0)
return false;

for (var n = 0; n < argvalue.length; n++)
if (argvalue.substring(n, n+1) < "0" || argvalue.substring(n, n+1) > "9")
return false;

return true;
}

/*************************************************************************\
boolean luhnCheck([String CardNumber])
return true if CardNumber pass the luhn check else return false.
Reference: http://www.ling.nwu.edu/~sburke/pub/luhn_lib.pl
\*************************************************************************/
function luhnCheck() {
var argv = luhnCheck.arguments;
var argc = luhnCheck.arguments.length;

var CardNumber = argc > 0 ? argv[0] : this.cardnumber;

if (! isNum(CardNumber)) {
return false;
}

var no_digit = CardNumber.length;
var oddoeven = no_digit & 1;
var sum = 0;

for (var count = 0; count < no_digit; count++) {
var digit = parseInt(CardNumber.charAt(count));
if (!((count & 1) ^ oddoeven)) {
digit *= 2;
if (digit > 9)
digit -= 9;
}
sum += digit;
}
if (sum % 10 == 0)
return true;
else
return false;
}

/*************************************************************************\
ArrayObject makeArray(int size)
return the array object in the size specified.
\*************************************************************************/
function makeArray(size) {
this.size = size;
return this;
}

/*************************************************************************\
CardType setCardNumber(cardnumber)
return the CardType object.
\*************************************************************************/
function setCardNumber(cardnumber) {
this.cardnumber = cardnumber;
return this;
}

/*************************************************************************\
CardType setCardType(cardtype)
return the CardType object.
\*************************************************************************/
function setCardType(cardtype) {
this.cardtype = cardtype;
return this;
}

/*************************************************************************\
CardType setExpiryDate(year, month)
return the CardType object.
\*************************************************************************/
function setExpiryDate(year, month) {
this.year = year;
this.month = month;
return this;
}

/*************************************************************************\
CardType setLen(len)
return the CardType object.
\*************************************************************************/
function setLen(len) {
// Create the len array.
if (len.length == 0 || len == null)
len = "13,14,15,16,19";

var tmplen = len;
n = 1;
while (tmplen.indexOf(",") != -1) {
tmplen = tmplen.substring(tmplen.indexOf(",") + 1, tmplen.length);
n++;
}
this.len = new makeArray(n);
n = 0;
while (len.indexOf(",") != -1) {
var tmpstr = len.substring(0, len.indexOf(","));
this.len[n] = tmpstr;
len = len.substring(len.indexOf(",") + 1, len.length);
n++;
}
this.len[n] = len;
return this;
}

/*************************************************************************\
CardType setRules()
return the CardType object.
\*************************************************************************/
function setRules(rules) {
// Create the rules array.
if (rules.length == 0 || rules == null)
rules = "0,1,2,3,4,5,6,7,8,9";

var tmprules = rules;
n = 1;
while (tmprules.indexOf(",") != -1) {
tmprules = tmprules.substring(tmprules.indexOf(",") + 1, tmprules.length);
n++;
}
this.rules = new makeArray(n);
n = 0;
while (rules.indexOf(",") != -1) {
var tmpstr = rules.substring(0, rules.indexOf(","));
this.rules[n] = tmpstr;
rules = rules.substring(rules.indexOf(",") + 1, rules.length);
n++;
}
this.rules[n] = rules;
return this;
}
// End -->
</script>
</HEAD>

<!-- STEP TWO: Copy this code into the BODY of your HTML document -->

<BODY>

<center>
<form name="ThisForm">
Card Number: <input name="CardNumber" size="16" maxlength="19"><br>
Card Type:
<select name="CardType">
<option value="MasterCard">MasterCard
<option value="VisaCard">Visa
<option value="AmExCard">American Express
<option value="DinersClubCard">Diners Club
<option value="DiscoverCard">Discover
<option value="enRouteCard">enRoute
<option value="JCBCard">JCB
</select>
<br>
Expiration Date: Month
<select name="ExpMon">
<option value="1" selected>1
<option value="2">2
<option value="3">3
<option value="4">4
<option value="5">5
<option value="6">6
<option value="7">7
<option value="8">8
<option value="9">9
<option value="10">10
<option value="11">11
<option value="12">12
</select>
Year <input name="ExpYear" size="2" maxlength="2">(Range: 1997~2020)<br>
<input type="button" value="Check" OnClick="CheckCardNumber(this.form)"><br>
</form>
</center>

<p><center>
<font face="arial, helvetica" size="-2">Free JavaScripts provided<br>
by <a href="http://javascriptsource.com">The javascript Source</a></font>
</center><p>

<!-- Script Size: 12.38 KB -->
#978
En este mismo subforo (Redes) hay un taller: Instalación/Configuración y Teoría de Servicios en Red con un tutorial de como instalar el Active Directory en Windows Server.

Tutorial: Instalar Active Directory en Windows Server 2008.

CitarInstalo el AD en 2k3 en cada máquina ejecutando el "dcpromo.exe" o solo tengo que instalarlo en la servidor??

Solo tienes que instalarlo en el servidor, que será el controlador de dominio.

Citarluego tendria que hacer mirroring a otro servidor para proteger los datos del servidor primario por caidas o perdidas de datos.

Claro, haciendo un backup periódico de las bases de datos del AD o simplemente guardas las bases de datos en otro equipo de la red.
#979
Redes / Re: Testear mis servicios
25 Febrero 2011, 20:14 PM
Hay webs que te proporcionan una shell Linux gratuita, por ejemplo Anapnea.net.

Claro que tienen algunas restricciones, pero para lo que necesitas te sirve.

Aquí tienes una lista con mas webs que proveen shells gratuitas.
#980
Desarrollo Web / Re: Hosting
25 Febrero 2011, 12:32 PM
Mira este enlace: Free JSP and Servlet Hosting Directory

Lo he sacado de Google, pon "free hosting jsp" y te saldrán muchos mas, como este.


Edito: También puedes usar AppEngine: Java Hosting with AppEngine.