Proxarsi con Google

Proxarsi, per chi non lo sapesse, significa mascherare il proprio indirizzo IP.

Proxarsi sfruttando Google è abbastanza semplice… basta andare su http://www.google.it/language_tools?hl=it (gli strumenti per le lingue di Google) ed inserire nel form ove dice “Traduci la pagina Web” il link del sito su cui vogliamo proxarci…

Ad esempio provate a mettere www.ilmioip.it e vedete se l’IP che spunta è davvero il vostro o è quello di google.

Ovviamente quanto a sicurezza e versatilità questo metodo non è dei migliori… pero è comodo poichè è abbastanza veloce e non richiede nessun software aggiuntivo.

Il sistema numerico esadecimale (abbreviato con hex) è un sistema numerico che usa 16 cifre: cioè per esempio utilizza 16 simboli a differenza del sistema decimale che ne utilizza 10, del sistema ottale che ne utilizza 8 o di quello binario che ne utilizza 2.

Dunque mentre il sistema binario usa solamente le cifre 0 e 1; il sistema hex utilizza le cifre da 0 a 9 e le lettere dalla A alla F.

Questo sistema numerico è così importante in informatica per la sua relazione diretta con il sistema binario: una cifra esadecimale corrisponde sempre a 4 cifre binarie.

In questa tabella possiamo vedere le differenze tra i vari sistemi numerici (esadecimale, decimale, ottale e binario):

Come possiamo notare non vi è una relazione diretta tra un tot di cifre nei sistemi decimali e ottali, e un tot di cifre nel sistema binario. Mentre possiamo vedere che come ho detto prima una cifra hex corrisponde a 4 cifre binarie.

In un linguaggio come il C/C++ e in tutti quelli che hanno una sintassi simile ad esso (PHP, Java, ecc..) per indicare un numero esadecimale si usa il suffisso 0x, cioè se il compilatore trova davanti ad una cifra il suffisso 0x lo considererà un numero espresso in esadecimale.

Mentre per indicare un numero ottale si usa solamente il suffisso 0, cioè qualsiasi numero che inizi con lo 0 viene considerato dal compilatore un numero espresso in ottale.

Di seguito riporto alcuni dei tantissimi modi per realizzare un redirect.

HTML:

<html>
<head>
<title>Redirect...</title>
<meta http-equiv="REFRESH" CONTENT="0; URL=<< pacchetto.deb >>">
</head>
<body>
Redirect in corso...
</body>
</html>

CONTENT sono i secondi prima del redirect, in questo caso zero. L’URL ovviamente è l’indirizzo (quello in verde) della pagina a cui l’utente verrà redirectato. Mentre su BODY possiamo mettere un semplice testo che può avvisare l’utente del redirect. JavaScript:

window.onload = function()
{
    self.setTimeout("location.href='http://www.google.it/'", 10000);
}

La cifra “10000” significa 10 secondi, e possiamo modificarla a nostro piacimento.

PHP:

<?php
    header("location: http://www.google.it/");
?>

Questo tra i primi programmini che ho scritto come esercizi è certamente uno dei più complessi. Non per la sue regole di sintassi (che sono più o meno ripetitive) tanto per l’algoritmo ingengato per realizzarlo. Tecnicamente come programma non ha una grande utilità, ma vi presento la sua sorgente a scopo educativo:

#include <stdio.h>

void azzera();
void somma();
void sottrai();
void moltiplica();
void dividi();

float n=0;   //variabile del numero da inserire
float x=0;   //variabile del numero base
char e;    //variabile per il controllo della continuazione o uscita de programma
int c;   //variabile per il controllo della funzione da scegliere

int main()
{
    printf("Manihack Calculator 3.0 - Coded by Shin Darth nn");
    printf("Inserisci un numero: ");
    scanf("%f",&x);
    do
    {
        system("cls");
        printf("Valore del numero attuale: %f nn",x);
        printf("Scrivi: nn");
        printf("[1] per azzerare n");
        printf("[2] per sommare n");
        printf("[3] per sottrarre n");
	printf("[4] per moltiplicare n");
	printf("[5] per dividere n");
	printf("[6] per uscire nn");
        printf("Numero della funzione scelta: ");
        scanf("%d",&c);
        switch (c)
        {
            case 1:

                azzera();
                break;
            case 2:
		somma();
		break;
            case 3:
                sottrai();
                break;
	    case 4:
		moltiplica();
	        break;
	    case 5:
		dividi();
	        break;
	    case 6:
		break;
	    default:
                printf("nErrore: Hai scelto un numero non valido. nn");
                break;
        }
        printf("nRitornare al menu' principale e continuare? SI=y EXIT=n n");
        scanf("%s",&e);
    }
    while (e=='y');
}

void azzera()
{
    system("cls");
    printf("Valore del numero attuale: %f nn",x);
    x=0;
    system("cls");
    printf("Valore del numero attuale: %f nn",x);
    printf("Valore azzerato. nn");
}

void somma()
{
    char b;
	do
	{
		system("cls");
		printf("Valore del numero attuale: %f nn",x);
		printf("Inserisci un numero per sommarlo al valore corrente: ");
		scanf("%f",&n);
		x+=n; //assegna a x la somma tra x e n
		system("cls");
		printf("Valore del numero attuale: %f nn",x);
		printf("Vuoi continuare a sommare? SI=y  MENU' PRINCIPALE=n n");
		scanf("%s",&b);
	}
	while (b=='y');
}

void sottrai()
{
	char b;
	do
	{
		system("cls");
		printf("Valore del numero attuale: %f nn",x);
		printf("Inserisci un numero per sottrarlo al valore corrente: ");
		scanf("%f",&n);
		x-=n; //assegna a x la differenza tra x e n
		system("cls");
		printf("Valore del numero attuale: %f nn",x);
		printf("Vuoi continuare a sottrarre? SI=y  MENU' PRINCIPALE=n n");
		scanf("%s",&b);
	}
	while (b=='y');
}

void moltiplica()
{
	char b;
	do
	{
		system("cls");
		printf("Valore del numero attuale: %f nn",x);
		printf("Inerisci un numero per moltiplicarlo al valore corrente: ");
		scanf("%f",&n);
		x*=n; //assegna a x il prodotto tra x e n
		system("cls");
		printf("Valore del numero attuale: %f nn",x);
		printf("Vuoi continuare a moltiplicare? SI=y  MENU' PRINCIPALE=n n");
		scanf("%s",&b);
	}
	while (b=='y');
}

void dividi()
{
	char b;
	do
	{
		system("cls");
		printf("Valore del numero attuale: %f nn",x);
		printf("Inerisci un numero per dividerlo al valore corrente: ");
		scanf("%f",&n);
		x/=n; //assegna a x il risultato della divisione tra x e n
		system("cls");
		printf("Valore del numero attuale: %f nn",x);
		printf("Vuoi continuare a dividere? SI=y  MENU' PRINCIPALE=n n");
		scanf("%s",&b);
	}
	while (b=='y');
//Linea vuota alla fine del file per evitare il warning di gcc
}

Calcolatirice in C

Questo è un altro dei miei programmini scritti in C.
L’output di questo programma è molto semplice: vengono richieste 2 cifre, esse vengono elaborate e vengono fuori i risultati delle varie operazioni tra queste due cifre 2. Il tutto è racchiuso in un ciclo do while che permette di far scegliere all’utente se riavviare la calcolatrice o meno.

#include <stdio.h>
int main()
{
	//dichiarazione delle variabili
	int x;
	int y;
	int somma;
	int differenza;
	int prodotto;
	int divisione;
	int resto;
	char z;

	//inizio del ciclo
	do
	{

		//pulitura schermo
		system("cls");

		//presentazione
		printf("Calcolatrice in C - Coded by Shin Darth nn");

		//richiesta del valore del primo numero
		printf("Inserisci il primo numero intero: ");

		//memorizzazione del valore del primo numero
		scanf("%d",&x);

		//richiesta del valore del secondo numero
		printf("Inserisci il secondo numero intero: ");

		//memorizzazione del valore del secondo numero
		scanf("%d",&y);

		//calcoli
		somma=x+y;
		differenza=x-y;
		prodotto=x*y;
		divisione=x/y;
		resto=x%y;

		//output dei risultati
		printf("nRISULTATI:nn");
		printf("Somma= %d nn",somma);
		printf("Differenza= %d nn",differenza);
		printf("Prodotto= %d  nn",prodotto);
		printf("Divisione= %d n",divisione);
		printf("Resto= %d nnn",resto);

		//chiusura o continuazione del programma
		printf("Continuare? n SI= y n NO= n nnn");
		scanf("%s",&z);
	}
	//iterazione
	while (z=='y');

	//fine della funzione main
	return 0;
}