Invasão no Windows 8 através do Java Signed Applet

Este vulnerabilidade permite ao invasor obter qualquer dado de um computador como Windows 8, pois através de engenharia social como induzir os usuários.

Detecção de Intrusos com SNORT - Back|Track 5R3

Sistema de detecção de intrusão , nada mais é do que uma ferramenta capaz de identificar tentativas de invasão em tempo real.

Hackeando e obtendo informações de dispositivos Android

Uma técnica de "hackear" os dispositivos moveis com o sistema operacional Android. Vamos utilizar a ferramente já conhecida por alguns, o Metasploit.

domingo, 30 de maio de 2010

Entendendo e criando um autorun.inf

Vamos ver como criar um arquivo de autorun, ou seja, um arquivo que faz inicializar, de forma automatica, um CD, DVD ou Pen Drive.

Autorun.inf é um arquivo texto comum, que você pode (deve) criar e editar com o Bloco de Notas.

Um autorun.inf básico é simples de ser criado pois só tem duas linhas de código, e vamos ver a sua criação nesse tutorial.

Vejamos um exemplo de autorun.inf para entendermos o seu código:

--------------------------------------
[autorun]
open=Autorun.exe
icon=Autorun.ico
--------------------------------------

Esse exemplo é o autorun.inf do CD 1 da Suíte Corel Draw X3.

Vamos entender as linhas:

- "OPEN=" mostra ao Windows o que deve ser executado.
- "ICON=" mostra ao Windows que ícone será utilizado para fazer a represnetação da mídia (CD, DVD ou Pen Drive) em Meu Computador ou no Windows Explorer.

A primeira linha "[autorun]" é apenas pra identificar que é um arquivo de autorun e deve ser especificada em todos os arquivos autorun.inf criados.

Da forma como foi colocado no exemplo acima, está sendo considerado que o arquivo a ser executado e o ícone estão na raiz do CD. Mas caso o arquivo que deseja executar e/ou o ícone que deseja mostrar não esteja na raiz do CD, basta apontar o caminho da pasta. Veja no exemplo abaixo:

--------------------------------------
[autorun]
open=programa/hchost.exe
icon=icones/hchost.ico
--------------------------------------

Se você não quiser ou não tiver um ícone para identificar o seu autorun não tem problema, basta obtir a linha "icon=".

Para salvar o arquivo autorun com a extensão ".inf", clique em Arquivo > Salvar, em seguida vá na opção "Salvar como tipo" e selecione a opção "Todos os arquivos". Feito isto dê o nome autorun.inf ao arquivo e clique no botão Salvar.

sábado, 29 de maio de 2010

Gravando imagens de CD/DVD facilmente com o ISO Recorder

Salve galera desculpa pela demora mas agora estou trabalhando e o tempo está sendo curto mas vou fazer o possível para postar.
Aqui vai o programinha ISO recorder para gravar as imagens de CD/DVD de forma fácil e rápida.
No download tem um arquivo pdf explicando como usar, nada complicado.

TAMANHO: 320 kb
SENHA: http://www.hc-host.net/
NECESSÁRIO UM LEITOR DE PDF PARA LER O TUTORIAL.

DOWNLOAD

sexta-feira, 21 de maio de 2010

O Que é o arquivo Thumbs.db ?

Os arquivos thumbs.db são gerados pelo Windows. É um arquivo de banco de dados que contém as imagens exibidas na versão reduzida quando você visualiza uma pasta no modo "thumbnail". Nenhum dano é causado ao apagar arquivos thumbs.db e também não há necessidade de se incluir estes arquivos nos backups do sistema.

Caso você queira desativar esta opção:

Abra o Windows Explorer > Ferramentas > Opções de pastas... > Modo de exibição > em seguida marque a opção "Não armazenar miniaturas em cache".

Dual boot com Windows XP e Vista

A compatibilidade de aplicativos permanece como sendo um dos problemas mais chatos para os usuários do Windows Vista. A possibilidade de atualizar um software para um aversão compatível com o Windows Vista nem sempre é uma opção. A empresa que desenvolveu o software pode não estar mais operando ou o custo do upgrade é alto demais. Em alguns casos, muitos jogos clássicos de PC não podem ser executados no Windows Vista mesmo utilizando o modo de compatibilidade. Para utilizar estes jogos, seria preciso instalar o Windows XP. Entretanto, nem todo mundo quer desistir do Windows Vista por causa destes problemas. Então, qual seria a alternativa? O dual boot entre Windows XP e Windows Vista.

Fazer o dual boot com Windows XP e Windows Vista no mesmo computador permitirá a você selecionar, a partir do menu de boot, qual sistema operacional você quer executar. Este menu é exibido logo depois que o computador é ligado. Instalar o Windows XP e o Windows Vista no mesmo computador ode ser um pouco complicado dependendo de qual sistema você instalou primeiro.

As duas sessões abaixo irão ajudar a você a fazer o dual boot, dependendo de qual sistema operacional foi instalado primeiro:

Com
Windows XP instalado primeiro
Se você quiser fazer o dual boot com o Windows XP e o Windows Vista, e o XP já está instalado em seu computador, você não terá muito trabalho para configurar o dual boot. Execute o boot pelo DVD de instalação do Windows Vista, selecione a instalação personalizada e instale o Vista em uma outra partição ou disco rígido diferente de onde o XP está. Isto deixará a instalação do XP intacta e instalará automaticamente o menu de boot com o XP e o Vista listados.

Com
Windows Vista instalado primeiro
Se você formatou completamente seu disco rígido e removeu o Windows XP quando instalou o Vista, o procedimento para o dual boot será um pouco mais complicado. Siga estes passos:

1 - Execute o boot pelo CD de instalação do Windows XP e instale-o em uma partição ou disco rígido diferente diferente de onde o Vista está. Quando a instalação tiver terminado, seu computador irá iniciar o Windows XP por padrão. Mas não se preocupe, o Windows Vista ainda está em seu computador (se você o instalou em uma partição ou HD diferente).

2 - Quando você instalou o XP, o Vista Boot Manager foi substituído pelos componentes de boot do Windows XP. O Vista Boot Manager precisa ser corrigido usando o DVD de instalação do Windows Vista. Execute o boot pelo DVD do Vista, clique em Next nas opções regionais e clique em Reparar seu computador no canto inferior esquerdo da janela. Selecione sua instalação do Windows Vista e escolha o Startup Repair. Isto irá corrigir o Windows Boot Manager e o Windows Vista será iniciado por padrão.

3 - Agora precisamos adicionar uma entrada ao Windows Boot Manager para o Windows XP. Isto é feito dentro do Windows Vista. Abra o prompt de comando como Administrador e execute os comandos abaixo:

bcdedit /create {ntldr} /d "Windows XP"
bcdedit /set {ntldr} device boot
bcdedit /set {ntldr} path \ntldr
bcdedit /displayorder {ntldr} /addlast

4 - Reinicie seu PC e teste seu menu de boot.

Com isso, o dual boot foi configurado em seu computador.

terça-feira, 18 de maio de 2010

Coomo entrar em sites e MSN bloqueados no trabalho ou faculdade

Olá galera hoje vou dar uma dica bem interessante para quem quer entrar em sites e MSN bloqueados no trabalho ou na faculdade.
Bem primieramente vamos lidar com o problemas dos sites:

-Orkut
-FaceBook
-Twitter
-E-mail

Bom a solução é simples você vai precisar de um web proxy, ele serve para camuflar o que você está acessando na maioria dos servidores o bloqueio do site é feito é feito pelo link :
-Se você digitar por exemplo www.orkut.com quando ele axar a palavra Orkut ele bloqueia automaticamente.

Os servidores proxy fazem o seguinte, pegam este link e deixam eles assim :

hj978jghmmsdd==--=-asd-s-

como um administrador bloqueia isso ?

segue o link de dois bons proxy:

http://www.japanweb.info/
http://www.hidemyass.com/

Lá vai ter o lugar para você colocar o link ai você coloca www.orkut.com por exemplo e clica em Ok.
No caso do Hot Mail tente acessar por este link:

http://login.live.com/

Normalmente os administradores bloqueiam o hotmail.com.

No caso do MSN se você tentar usar o meebo.com concerteza vai estar bloqueado então, use
o segundo servidor proxy pois ele é melhor para o meebo e ai é só curtir o msn. Fuui =*

Curso Intensivode Photoshop

TAMANHO : 3,07 MB
SENHA : http://www.hc-host.net/


domingo, 16 de maio de 2010

Scanners Introdução

Scanners
Definição
Todos sabemos que nenhum sistema é perfeito. Falhas em programas e sistemas existem
sim e são uma ameaça à segurança. Geralmente ocorre do seguinte modo: um administrador
acidentalmente descobre que algum recurso do seu sistema gera um erro em resposta a algum
tipo de pedido. Para exemplificar, suponhamos que a rede em que o administrador trabalha só
se comunica gerando mensagens de “olá”. Um dia ele escreve “alô” sem querer e descobre
que ao enviar a mensagem para outra máquina, ela fica confusa e trava. Bem, a resposta
deveria dizer “Desculpe, só olá aceito”. Foi descoberto um bug. Agora imagine que centenas
de bugs são descobertos a cada dia e que o seu sistema “confiável” de hoje, pode ser
destruído amanhã. Existem algumas saídas para fazer uma análise mais garantida. A primeira
é que você se torne um completo nerd e conheça desde o primeiro ao último bug existente. Se
você trabalha com mais de um tipo de sistema operacional então, boa sorte. Uma outra saída,
infinitamente mais eficaz, é a utilização de scanners. São programas que analisam um
sistema ou rede em busca de falhas de qualquer tipo. Existem dezenas de scanners diferentes,
cada um com suas vantagens. Aprendendo melhor sobre eles, poderá se proteger melhor e
evitar que algum invasor malicioso dê um passo à sua frente.
Descobrindo falhas em um host
Para entender qual a parte do seu sistema é mais vulnerável, você terá que pensar com
malícia. Ora, se você usa um firewall e desabilita o acesso externo aos servidores de FTP e
Telnet, com certeza eles não serão a sua maior preocupação. Em alguns hosts , deixa-se
habilitada apenas a porta 80 (www) para acesso externo. Muitos se sentem seguros desse
modo. Mas enganam-se. Atualmente, a quantidade de falhas existentes em servidores World
Wide Web é absurda. Tanto Internet Information Server quanto Apache ou qualquer outro,
possuem erros. Alguns deles tão perigosas que possibilitam acesso ao interpretador de
comandos do sistema, podendo gerar uma “entrada” para o invasor na rede. Outros podem
fazer com que se consuma toda a memória existente, causando um Buffer Overflow( nome
dado ao travamento do sistema devido a falhas de memória). Vamos dividir o nosso estudo
sobre scanners em partes: os scanners de portas, scanners de host, scanners netbios e scanners
de vulnerabilidade.
53
Portas abertas com serviços ativos
Ao contrário do que popularmente se pensa, não é tão fácil assim invadir um
computador pessoal. Nós já sabemos que o sistema é composto de 65535 portas TCP e UDP.
Em servidores, muitas delas possuem serviços rodando, tais como:
21 – FTP (File Transfer Protocol)
23 – TELNET
25 – SMTP (Simple Mail Transfer Protocol)
79 – FINGER
80 – WWW
Esses são apenas alguns dos muitos serviços que são rodados em computadores de
empresas que precisam estabelecer contato com filiais e clientes. Realmente, um sistema que
possua os seguintes serviços acima ativos, pode ganhar sérios problemas com segurança. Mas
imagine o seu computador na sua casa, em cima da mesa da sala, cheio de joguinhos dos seus
filhos e que você só utiliza para ler e-mails e navegar pelas homepages. As portas da sua
máquina estão descansando totalmente. Às vezes, uma ou outra se abre para estabelecer
conexão com um site, ou mandar uma mensagem pelo ICQ. Mas essas são randômicas, ou
seja, a cada vez que uma conexão for feita, a porta mudará. Isso impede que algum invasor
fique à espreita e tente se conectar a portas padrões. Dificulta, mas não impede. Algum
cavalo de tróia instalado sem você saber pode abrir uma porta qualquer e permitir a conexão
de qualquer pessoa. Para saber quais portas estão abertas em um sistema remoto, utilizamos o
scan de portas. Existem muitos e muitos programas desse tipo. Alguns exemplos são o
Cha0scan , o Shadow Scan e o Haktek.
Funcionam da seguinte maneira: vão tentar se conectar a todas as portas de um endereço ip
fornecido, mostrando todas as portas encontradas “ativas” e o seu conteúdo. É uma boa
táticas para encontrar cavalos de tróia sem depender de anti-vírus, já que todos usam portas.
Exemplo: eu quero analisar o meu próprio computador para saber se têm alguma porta aberta.
54
Para isso, vou usar o HakTek. Então mando o programa tentar scannear portas no endereço
127.0.0.1( o chamado endereço de loopback. Serve para quando você não está conectado na
Internet e precisa utilizar algum programa de análise que precise de endereço IP). Encontrei
as seguintes portas ativas:
80
1256
21554
31337
Ora, a primeira porta eu sei que é o servidor de páginas que rodo no meu pc. Mas e as
outras três? A porta 1256 era a que o icq havia aberto na hora. As outras duas são portas de
trojans que usei como teste. A porta 21554 é do trojan Girlfriend e a porta 31337 é do Back
Orifice.
O único problema desse scan é que como ele foi feito nas três vias do tcp (syn, syn-ack,
ack) pode ser facilmente detectado por sistemas IDS (detecção de intrusos). Uma boa saída é
usar o NMAP , disponível tanto em Windows NT quanto Linux. Utilizando-o, você pode
scannear portas de maneira furtiva, sem realizar as três vias do tcp. Ele possui muitas opções
diferentes para scan de portas, experimente-as.
Máquinas ativas da subnet
O segundo tipo de scanner estudado, é o mais usado quando o objetivo do invasor é
determinar todos os hosts ativos da subnet e saber seus nomes (DNS). Assim, vamos supor
que o endereço principal de um provedor é www.phela.com.br. Usamos um ping qualquer,
ou o próprio scanner, e descobrimos que o endereço ip é 200.205.215.37. Agora vou utilizar o
scanner de hosts para saber quais outras máquinas dessa rede estão ativas.
200.205.215.9 – diretoria.phela.com.br
200.205.215.34 – laboratorio.phela.com.br
200.205.215.35 – milho.phela.com.br
200.205.215.36 – gilmara.phela.com.br
200.205.215.37 – server.phela.com.br
200.205.215.65 – route.phela.com.br
Com isso conseguimos informações importantes do sistema. Sabemos por exemplo qual
é o endereço do roteador, e onde deve ficar informações importantes. Se fosse um site de
comércio eletrônico por exemplo, as chances de conseguir os dados era enorme, pois mesmo
que o invasor não conseguisse acesso diretamente ao computador 200.205.215.37 (que pode
inclusive ser um firewall) ele poderia se conectar a um outro IP da subnet e conseguir os
dados a partir dele. Às vezes poderia haver algum backup perdido por aí. Alguns bons
scanners de hosts são o Shadow Scan e o Haktek. Claro que para Unix e Linux existem outros
muito melhores.

Carregar imagem externa no flash com loadMovie

Autor: Rodrigo Gonçalves

Versão AS: Actionscript 2.0
Dificuldade: básico
Obs.: Para um bom entendimento deste tutorial,
é interessante ter familiaridade com a interface do programa Flash e lógica de programação.

Neste tutorial veremos como carregar uma imagem externa com o função loadMovie() do Actionscript 2.0.
O loadMovie pode ser utilizado em casos mais simples de carregamento externo. Porém, se precisar ter maior controle e algo mais complexo sobre carregamento externo, é melhor utilizar a classe MovieClipLoader() do AS2.

Donwload do exemplo:
No final deste tópico existe um exemplo do que podemos fazer com a função loadMovie.

Receita: O que precisamos pra fazer funcionar o loadMovie:

Ingredientes:
* 1 função loadMovie();
* 1 Movie clip, que será nosso alvo e deve ter um nome de instância para referência-lo no Actionscript;
* 1 imagem que deseja carregar podendo ser com as seguintes extensões:
jpg, png, gif(não animados) ou um arquivo swf.

Ingredientes anotados, “mão na massa”!

Abra seu Amigo Flash, crie um novo documento.
Caso você utilize a versão Flash CS3, na hora de criar um novo documento escolha a opção “Actionscript 2.0″.

Crie 2 camadas com seguintes nomes:
Camada 1: actions
Camada 2: alvo_mc

Imagem 1: organizando camadas.Na camada “alvo_mc” no frame (quadro) 1
Crie um Movie Clip vazio (Ctrl + F8) com as seguinte configuração:
* Name: mc_vazio
* Type: Movie Clip

A configuração deve ficar como a imagem 2 a seguir.


Imagem2: criando novo Movie Clip vazio.

O Movie Clip (MC) não deverá conter nenhum conteúdo inserido neste MC. Isto mesmo. Exatamente nenhum conteúdo.
Precisamos deste MC vazio para ser um “alvo” para imagem que irá carregar. Caso tenha conteúdo neste MC a imagem nova irá carregar no lugar da atual. Então, neste caso apenas deixamos o MC vazio para este fim de carregar imagem externa.
Após criar seu MC Vazio deve ficar algo parecido como na imagem 3 logo abaixo.


Imagem 3: 1 Movie Clip vazio.

Retorne para a cena 1 (scene 1). Este MC vazio que criamos estará na biblioteca.
Precisamos arrastar este MC para o palco (stage) e nomea-lo com uma instância pra “chamar” pelo Actionscript.

Selecione a camada “alvo_mc” no 1º frame. Abra a biblioteca (ctrl + L ou F11) em seguida arraste este MC vazio para o palco, posicione onde você quiser.
Obs: Lembra-se este MC será um “alvo” pra carregar a imagem desejada.
Então, imagine o tamanho em largura e altura em pixels pra determinar a posição mais adequada no palco pra este MC vazio receber sua imagem.


Imagem 4: arrastando o MC vazio da biblioteca para o palco(stage) do Flash.

Logo em seguida, selecione seu MC e insira um nome de instância: “alvo_mc”(sem aspas).
Obs: Você pode colocar outro nome de instância de sua preferência. Mas, para este exemplo utilizamos a intância “alvo_mc”.


Imagem 5: inserindo um nome de instância para o Movi clip.

Podemos agora chamar este MC pelo Actionscript.
Antes de inserirmos este código, você deve conhecer a sintaxe do loadMovie no Actionscript 2.0 isto facilita na criação do seu código:

loadMovie(endereco_url:String, Alvo:Objeto);

Dicas: Você pode encontrar algo mais detalhado no “Ajuda do Flash” (tecla F1).

Na camada “actions” no 1º frame abra o painel de Actions (F9).
Insira o seguinte código:

loadMovie(”imagem.jpg”, alvo_mc);

Uma outra maneira de declarar loadMovie seguindo esta mesma lógica:

alvo_mc.loadMovie(”imagem.jpg”);

A única diferença notável está na escrita, declaramos antes o objeto(Movie Clip) e depois o loadMovie(”enedereço da imagem”).

Entendendo o código

O endereço URL pode ser absoluto (http://…/imagem.jpg) ou um endereço relativo (imagem.jpg).
Para este exemplo foi apenas sugestivo para facilitar no entendimento.
Para ver em funcionamento este exemplo, basta você colocar um endereço URL da imagem ou criar uma imagem com o nome que desejar.

Mas, caso não carregar a imagem, alguns dos erros mais comuns são:
* A imagem está com outra extensão ou nome;
* A imagem não existe no local proposto;
* O endereço da imagem não existe;
* A sintaxe do Actionscript está incorreta;
* Nome de instância do Movie Clipe está errado.
* Não existe um nome de instância.

Pronto! Você terá algo parecido como a imagem logo abaixo. Basta você escolher uma imagem de sua preferência.

Imagem 6: resultado final carregando a imagem com loadMovie.

Esta imagem é apenas sugestiva. Isso nada mais é que um Movie clipe vazio com um nome de instância que determinamos neste tutorial e que recebe um endereço da imagem.

Criando MovieClip vazio com createEmptyMovieClip()

Agora que você entendeu o conceito do loadMovie, fizemos nos exemplos anteriores todo trabalho mais “manual”. Podemos simplificar ainda mais apenas utilizando 2 linhas de código.
Iremos criar um MovieClip vazio dinamicamente pelo código e depois importar sua imagem/swf para o MovieClip criado.

O método utilizado para criar MovieClip Vazio é createEmptyMovieClip() da classe MovieClip para AS2.
Vamos ver a sintaxe para entedermos como utilizá-lo. Vejamos:

MovieClip.createEmptyMovieClip(name:String, depth:Number) : MovieClip

Este método solicita 2 parametros/argumentos, sendo:
- name: referente ao nome de instância que você dará para o MovieClip a qual conseguiremos manipulá-lo via Actionscript. Deverá colocar o nome entre aspas(dupla ou simples) pois é um dado do tipo String.
- depth: é a profundidade que será anexado esse MovieClip referente ao seu alvo. O valor será do tipo numérico.

Quando isso for criar retornará um objeto do tipo MovieClip.

Vamos ao exemplo.
Abra um arquivo novo.
Na 1º camada, selecione o frame 1, abra o painel de Actions [F9] e insira o seguinte código:

_root.createEmptyMovieClip(”alvoMc”, 0);
alvoMc.loadMovie(”sua_Imagem.jpg”);

Na 1º linha, criamos um Movie Clip vazio(createEmptyMovieClip) na timeline principal do Flash(root/raiz) e demos o nome de instância alvoMc que ficará anexado em um nível de profundidade 0 da timeline principal(root);
Repare que, a sintaxe do método createEmptyMovieClip() solicita um alvo para criar seu MovieClip vazio, ou seja um alvo do tipo MovieClip. Mas, colocamos um _root. Por que?
O _root é considerado pelo Flash como uma MovieClip principal(raiz) criado por padrão pelo programa, por isso quando utilizamos _root, estamos nos referindo a timeline principal do Flash.
Você poderia criar um MovieClip vazio em outro MovieClip criado. Ex.:

seuMovieClipAqui.createEmptyMovieClip(”alvoMc”, 0);

Na 2º linha, apenas aplicamos o carregamento de uma imagem externa no alvo desejado utilizando o método loadMovie que você já conhece nos exemplos anteriores.

Não tem nada inserido manualmente no stage, apenas o código.

Você pode adaptar em seu projeto. Isso pode ser muito útil para aplicações mais simples.
Caso queira criar por exemplo “galeria de imagens” onde você precisa de maior controle no carregamento. É aconselhável utilizar a classe MovieClipLoader() do AS2. No Help do Flash(atalho F1) você encontra mais informações e exemplos de como utilizá-lo.


Donwload 1 – exemplo com função loadMovie.

quinta-feira, 13 de maio de 2010

Aumentando as Recompensas Duradouras no the sims 3



sexta-feira, 7 de maio de 2010

Enviar um ficheiro para o servidor

O PHP suporta várias funcionalidades, por isso o seu grande sucesso entre os programadores que procuram facilidade de programação, suporta bases de dados,
corre independentemente do sistema operativo utilizado e hardware, entre outros.

Dentro das funcionalidades do PHP está o suporte para o envio de ficheiros para o servidor através de um formulário HTML. Qualquer tipo de ficheiro pode ser enviado para o servidor, seja ele uma imagem, um ficheiro de texto, uma base de dados, etc., ou melhor dizendo, seja o ficheiro binário ou texto.

Para enviar um ficheiro, primeiro precisamos de criar um formulário para o utilizador indicar qual o ficheiro que deseja enviar:

<form method=post enctype="multipart/form-data" action="teste.php">
<input type="file" name="ficheiro">
<input type="submit" name="submit" value="Enviar ficheiro">
</form>


ATENÇÃO: O parâmetro "enctype" é obrigatório, sem ele não é possível enviar o ficheiro para o servidor!

Para o php aceitar o ficheiro, alguns parâmetros devem estar configurados correctamente no php:

file_uploads = On - O PHP aceita o envio de ficheiro;

upload_tmp_dir = - Qual o directório que onde o php guardará "temporariamente" o ficheiro enviado.

upload_max_filesize = 2M - Tamanho máximo do ficheiro aceito pelo php

Normalmente o PHP já vem configurado para aceitar o upload de ficheiros, mas é sempre bom verificar a sua configuração no php.ini para não ter mais tarde dores de cabeça.

Além do limite de tamanho do ficheiro imposto pela configuração do php (que serve para todos os scripts do servidor) podemos também limitar o tamanho utilizando uma configuração do formulário:

<input type="hidden" name="MAX_FILE_SIZE" value="1024">

Neste caso estamos a limitar o tamanho máximo do ficheiro em 1024 bytes. Mas não é recomendável confiar neste parâmetro, pois qualquer pessoa com algum conhecimento de HTML conseguirá retirar este limite. Mais abaixo mostrarei outra solução para isto.

Tudo bem, o utilizador selecionou o ficheiro para ser enviado e pressionou o botão "Enviar ficheiro", se crias-te um ficheiro com o formulário acima e um ficheiro "teste.php" (pode ser o mesmo ficheiro do formulário) o browser do utilizador irá enviar o ficheiro para o servidor, e nada vai acontecer, além do php ter guardado o ficheiro no directório temporário e apagado o ficheiro no final da execução do script. Então teremos que fazer mais qualquer coisa com o ficheiro. Após receber o ficheiro, o php guarda-o num directório temporário, com um nome escolhido por ele, e criará várias variáveis globais com informações deste ficheiro, baseadas no nome que escolhemos para o campo, no nosso caso "ficheiro":

$ficheiro : nome do ficheiro, com seu caminho absoluto, onde o php o guardou
$ficheiro_name : nome do ficheiro, absoluto, na máquina do utilizador
$ficheiro_size : tamanho em bytes do ficheiro
$ficheiro_type : tipo "MIME" do ficheiro


Com essas variáveis podemos agora fazer qualquer coisa com o ficheiro. Podemos, por exemplo, verificar se o ficheiro tem um tamanho abaixo do limite maximo desejado para ser enviado (isto é muito importante, pois impossibilita que alguém envie um ficheiro tão grande que possa bloquear o servidor). Usamos o seguinte script:

<?php
if($ficheiro_size > 1024) {
print "O tamanho do ficheiro é maior do que o limite permitido<br>";
exit;
}
?>


Para não deixar alguns utilizadores irritados, podemos usar as duas opções juntas, o limite configurado dentro do formulário e o limite dentro do script, assim os utilizadores normais não terão a decepção de esperar vários minutos para enviar o ficheiro para o servidor e só depois serem avisados que o ficheiro era grande demais, assim o browser acusa o tamanho demasiado grande antes de enviar o ficheiro, e os utilizadores "espertinhos" terão uma decepção ao descobrir que existia outra limitação.

Precisamos agora fazer alguma coisa com o ficheiro antes de terminar o script, senão o php irá apagá-lo. Temos o nome do ficheiro na váriavel "ficheiro", então precisamos colocá-lo num lugar do servidor. Podemos usar a função do php "copy". A função copy exige 2 parâmetros: fonte e destino, e retorna verdadeiro ou falso, ou seja, se copiou ou não. Atenção para quem vai usar este método num sistema Linux, unix ou qualquer outro que tenha suporte para permissões de ficheiros, pois a função "copy" irá executar uma cópia do ficheiro como o utilizador que executa o servidor, portanto, se o utilizador/grupo que executa o servidor não tiver permissão de escrita no directório de destino, não vai ser possível copiar o ficheiro para lá. Neste caso, tente gravar no /tmp, que costuma ter permissão de escrita para todos os utilizadores, ou dê a permissão a um directório específico só para gravar os ficheiros. Supondo que o servidor tem permissão de escrita no subdirectório ficheiro do directório do nosso script, vamos gravar:

<?php
....
if(copy($ficheiro,"ficheiro/ficheiro_do_utilizador")) {
print "O ficheiro foi recebido com êxito!<br>";
} else {
print "Ocorreu um erro ao receber o ficheiro!<br>";
}
?>


Pronto, agora o ficheiro foi salvo como ficheiro_do_utilizador no subdiretório ficheiro. Note que todos os utilizadors que enviarem o ficheiro para o servidor terão os seus ficheiro salvos com o mesmo nome, portanto, só um ficheiro irá existir, e será o ficheiro do último utilizador que enviou o ficheiro.

Fica para o leitor o exercício de criar um ficheiro único para cada utilizador e que um mesmo utilizador não consiga enviar mais do que três ficheiros por login.

Em breve haverá um tutorial que explicará como fazer isto

Até a próxima!

segunda-feira, 3 de maio de 2010

Download no Mega Upload sem espera !

download sem espera no MegaUpload

Bom galera aqui vai um tutorial explicando como adiantar seu download no MegaUpload, lembrando que não usado nenhum programa para fazer isso. Somente será usado dois plugins para o firefox então o tutorial só vai valer se você é usuário do Firefox.
Mais um mutivo para ser mais um desta grande familia FOX ! :P

Obs: Plugins já inclusos no tuto.

DOWNLOAD