Eu vi o método de rachadura violenta na Internet. A página será proibida de enviar o envio externo.
Arquivo ASP: code.asp
Arquivo de dados: body.fix, head.fix
Uso: <img src = http://blog.netbei.com/code.asp>
Response.Buffer = true
NUMCODE
Função numCode ()
Response.Expires = -1
Response.AddHeader Pragma, sem cache
Response.AdHeader Cache-CLM, sem cache
Dim znum, eu, j
Dim Ados, Ados1
Randomize Timeer
Gerar quatro dígitos aleatórios:
Znum = Cint (8999*Rnd 1000)
Passar para a sessão
Sessão (getCode) = Znum
O loop for colocado o número aleatório em uma matriz de 3 assentamentos 3, o que é conveniente para fornecer à transformação da matriz subsequente
Dim Zimg (3), NSTR
NSTR = CSTR (Znum)
Para i = 0 a 3
zimg (i) = cint (mid (nstr, i 1,1))))
Próximo
Dim POS
'Defina dois objetos binários adodb.stream, para o uso da operação de dados de imagem:
set ados = server.createObject (adodb.stream)
Ados.mode = 3
Ados.type = 1
Ados.open
Definir ados1 = server.createObject (adodb.stream)
Ados1.mode = 3
Ados1.type = 1
Ados1.open
'Carregar 0 ~ 9 dados digitais 10x100, dados da matriz GBR, cada um 320 bytes, 10 números 3200byte
'BGR de um ponto, 10x10 aponta um número, um ponto três bytes (binário de 8 bits, hexadecimal 00 ~ ff)
'Uma linha de 10 pontos 30 bytes Linha que termina 00 00 00 dois bytes de bytes, então um 10x100 é menor que a imagem longa, cada número 10x10 é 320 bytes
'Aqueles que estão crescendo mais que largos, não há como terminar a marca 0000, são 300 bytes diretamente
Estes são os dados do BMP 24bits.
'Quanto à cabeça, também é muito simples, incluindo comprimento e largura, a imagem comece a marcar e assim
Ados.loadfromfile (server.mappath (body.fix))
Ados1.write ados.read (1280)
'O primeiro para o loop e os quatro números correspondentes são extraídos do número de números aleatórios gerados de 10x100
Mas matriz de números verticais
para i = 0 a 3
Ados.Position = (9-zimg (i))*320
Ados1.position = i*320
Ados1.write ados.read (320)
próximo
'Limpe os dados do ADOS que foi usado e ajuste a nova imagem de cabeça 54 byte do arquivo de cabeçalho
Ados.loadfromfile (server.mappath (head.fix))
Pos = lenb (ados.read ())
Ados.Positation = POS 'Especifique a posição POS, você pode adicionar dados gráficos à posição de 54 bytes
O segundo para loop, o número de números de números, de blocos verticais a blocos numéricos horizontais
O método é extrair 4 vezes 320 bytes para escrever 30 bytes para objetos da ADOS e extrair dados de imagem que mudam a segunda linha.
30 bytes são devidos ao rótulo final com uma linha de 00 00 no BMP.
para i = 0 a 9 Etapa 1
para j = 0 a 3
Ados1.Position = i*32 J*320
Ados.Positation = POS 30*ji*120
Ados.write ados1.read (30)
próximo
próximo
Ados.Positation = 0
Response.BinaryWrite envia diretamente dados de imagem para o cliente
Response.ContentType = Image/BMP
Response.BinaryWrite ados.read ()
Ados.close: set ados = nada
Ados1.close: set ados1 = nada
Reimpressão da função final, indique no IM286.com desatualizado, este endereço da postagem: http://www.im286.com/viewthread.php?
Para entender esses códigos, é principalmente entender o objeto dos dados binários no ASP, adodb.stream! Este programa usa principalmente o Adodb.stream. Ainda não existe um bom mecanismo de identificação. Identifique 4321 a 89910, para que o código da imagem ainda esteja mais seguro.
Eu vi o método de rachadura violenta na Internet. A página será proibida de enviar o envio externo.
Arquivo ASP: code.asp
Arquivo de dados: body.fix, head.fix
Uso: <img src = "http://blog.netbei.com/code.asp" >>
Response.Buffer = true
NUMCODE
Função numCode ()
Response.Expires = -1
Response.addheader "Pragma", "No-Cache"
Response.addheader "cache-clm", "sem cache"
Dim znum, eu, j
Dim Ados, Ados1
Randomize Timeer
Gerar quatro dígitos aleatórios:
Znum = Cint (8999*Rnd 1000)
Passar para a sessão
Sessão ("getCode") = Znum
O loop for colocado o número aleatório em uma matriz de 3 assentamentos 3, o que é conveniente para fornecer à transformação da matriz subsequente
Dim Zimg (3), NSTR
NSTR = CSTR (Znum)
Para i = 0 a 3