Acontece que mudar o mdb para asp pode impedir o download é um absurdo. Use o Flashget para testar o download do arquivo data.asp e salve-o como um arquivo data.mdb. Descobri que ele está intacto quando aberto com ACCESS! 1. Use sua imaginação para modificar o nome do arquivo do banco de dados
No entanto, se o invasor obtiver o caminho para o banco de dados por meio de um método de terceiros, ele poderá fazer download do banco de dados. Portanto, a confidencialidade é mínima.
2. Altere o sufixo do nome do banco de dados para ASA, ASP, etc.
Este método deve ser combinado com algumas configurações, caso contrário ocorrerá a situação do início deste artigo.
(1) Campo binário adicionado.
(2) Adicione <% ou%> a este arquivo, o IIS irá analisá-lo de acordo com a sintaxe ASP e, em seguida, reportará um erro 500, naturalmente ele não pode ser baixado. Porém, é inútil simplesmente adicionar <% ao campo de texto ou memorando do banco de dados, pois o ACCESS processará o conteúdo e ele existirá no banco de dados como <%, o que é inválido! O método correto é armazenar <% no campo do objeto OLE, para que nosso propósito possa ser alcançado.
Como fazer:
Primeiro, use o bloco de notas para criar um novo arquivo de texto com o conteúdo <%, dê um nome aleatório e salve-o.
Em seguida, abra seu arquivo de banco de dados com o Access, crie uma nova tabela, dê a ela um nome aleatório, adicione um campo de objeto OLE à tabela, adicione um registro e insira o arquivo de texto criado anteriormente. para ver Um novo registro chamado "Pacote de Dados".
3. Adicione # antes do nome do banco de dados
Basta adicionar # ao nome frontal do arquivo de banco de dados e, em seguida, modificar o endereço do banco de dados no arquivo de conexão do banco de dados (como conn.asp). O princípio é que durante o download, apenas a parte antes do sinal # pode ser reconhecida, e as seguintes partes serão removidas automaticamente. Por exemplo, se você deseja fazer o download: http://www.pcdigest.com/date/#123. .mdb (supondo que exista). Seja IE ou FLASHGET, o que você obtém é http://www.test.com/date/index.htm (index.asp, default.jsp, etc., os documentos da página inicial que você definiu no IIS)
Além disso, reter alguns espaços no nome do arquivo do banco de dados também desempenha um papel semelhante. Devido à particularidade do protocolo HTTP para resolução de endereços, os espaços serão codificados como%, como http://www.test.com/date/. 123;456.mdb , baixado de http://www.test.com/date/123%456.mdb. Nosso diretório não possui o arquivo 123%456.mdb, portanto o download é inválido. Após esta modificação, mesmo que você exponha o endereço do banco de dados, geralmente outras pessoas não conseguirão baixá-lo!
4. Criptografe o banco de dados
Primeiro, selecione Ferramentas->Segurança->Criptografar/Descriptografar Banco de Dados, selecione o banco de dados (por exemplo: funcionário.mdb) e clique em OK. Em seguida, aparecerá uma janela para salvar o banco de dados após a criptografia e salve-o como: funcionário1. mdb. Em seguida, Employee.mdb será codificado e salvo como Employee1.mdb. Deve-se observar que a ação acima não define uma senha para o banco de dados, mas apenas codifica o arquivo de banco de dados. Visualize o conteúdo do arquivo de banco de dados.
A seguir, criptografamos o banco de dados. Primeiro, abra o Employee1.mdb codificado. Ao abrir, selecione o modo exclusivo. Em seguida, selecione Ferramentas->Segurança->Definir senha do banco de dados no menu e insira a senha. Dessa forma, mesmo que outra pessoa obtenha o arquivo Employee1.mdb, ela não poderá ver Employee1.mdb sem a senha.
Após a criptografia, você precisa modificar a página de conexão do banco de dados, como:
conn.open driver={driver de acesso microsoft (*.mdb)};uid=admin;pwd=senha do banco de dados;dbq=caminho do banco de dados
Após esta modificação, mesmo que o banco de dados seja baixado, outras pessoas não poderão abri-lo (desde que a senha na página de conexão do seu banco de dados não tenha vazado)
Mas é importante notar que, como o mecanismo de criptografia do banco de dados Access é relativamente simples, mesmo que uma senha seja definida, a descriptografia é fácil. O sistema de banco de dados forma uma string criptografada fazendo XOR da senha inserida pelo usuário com uma chave fixa e a armazena na área do arquivo *.mdb a partir do endereço &H42. Assim, um bom programador pode facilmente fazer um pequeno programa com dezenas de linhas para obter facilmente a senha de qualquer banco de dados Access. Portanto, enquanto o banco de dados for baixado, sua segurança da informação permanecerá desconhecida.
5. Coloque o banco de dados fora do diretório WEB ou coloque o arquivo de conexão do banco de dados em outros diretórios virtuais
Se o seu diretório WEB for e:/webroot, você pode colocar o banco de dados na pasta e:/data e modificar o endereço de conexão do banco de dados na página de conexão do banco de dados em e:/webroot para: ../data/database name form, para que o banco de dados possa ser chamado normalmente, mas não possa ser baixado porque não está no diretório WEB! Este método geralmente não é adequado para usuários que compram espaço virtual.
6. Use fontes de dados ODBC.
Em programação como ASP, se possível, você deve tentar usar fontes de dados ODBC e não escrever o nome do banco de dados no programa, caso contrário, o nome do banco de dados será perdido junto com a confidencialidade do código-fonte ASP. = Servidor.MapPath(. ./123/abc/asfadf.mdb )
conn.open driver={Driver Microsoft Access (*.mdb)};dbq=& DBPath
Pode-se observar que por mais estranho que seja o nome do banco de dados, por mais profundo que seja o diretório oculto, depois que o código-fonte ASP for comprometido, ele poderá ser facilmente baixado. Se você usar a fonte de dados ODBC, não haverá esse problema: conn.open nome ODBC-DSN, mas isso é mais irritante. Se você mover o diretório, será necessário redefinir a fonte de dados. Para um método mais conveniente, consulte. Capítulo 7. 8 métodos!
7. Adicione mapeamento estendido do nome do banco de dados, como MDB
Este método é obtido modificando as configurações do IIS. É adequado para amigos que têm controle do IIS, mas não é adequado para usuários que compram hosts virtuais (a menos que o administrador o tenha configurado). Acho que esse método é o melhor atualmente. Com apenas uma alteração, todo o banco de dados do site pode ser impedido de ser baixado. Os downloads podem ser evitados mesmo se o endereço de destino for exposto sem modificar o código.
Adicionamos a análise do aplicativo do arquivo .mdb em Propriedades do IIS --- Diretório inicial --- Configuração --- Mapeamento --- Extensão do aplicativo. Observe que a DLL (ou EXE, etc.) selecionada aqui não parece ser arbitrária. Se a seleção não for apropriada, o arquivo MDB ainda pode ser baixado. Observe que é melhor não selecionar asp.dll, etc. Você pode testar você mesmo
Após esta modificação, baixe o banco de dados como: http://www.test.com/data/dvbbs6.mdb. Ele aparecerá (erros como 404 ou 500)
8: Vantagens de usar .net
Mu Niao de Dongwang escreveu uma ferramenta anti-hotlink WBAL para evitar downloads ilegais de arquivos. Para obter detalhes, faça login em http://www.9seek.com/WBAL/;
Porém, aquele apenas impede downloads não locais e não tem a função de realmente impedir downloads de bancos de dados. No entanto, este método é quase igual ao método 5. Você pode modificar o arquivo .NET para que ele não possa ser baixado localmente!
Entre esses métodos, apenas o 7º e o 8º métodos podem ser alterados uniformemente. Após modificar a configuração uma vez, o download do banco de dados de todo o site pode ser impedido. Os outros vários métodos requerem a modificação do nome do banco de dados e do arquivo de conexão, respectivamente. mais problemático, mas para amigos anfitriões virtuais só pode fazer isso!
Na verdade, o sexto método deveria ser uma extensão do quinto método, que pode realizar funções especiais. No entanto, para hosts que não suportam .net ou têm medo de configurações problemáticas, é melhor usar o quinto método diretamente e o quinto método. o sexto método é usado por padrão. Método, você ainda pode publicar copiando e conectando-se ao fórum ou livro de visitas do mesmo host e, em seguida, clicar para fazer o download (porque essas páginas de referência são do mesmo host)
9. Use as configurações de permissão de arquivo da partição NTFS (por percyboy)
Já sabemos que o ASP.NET usa ADO.NET para acessar o banco de dados, e o banco de dados Access - um de nossos bancos de dados low-end muito usados - pode ser acessado através da conexão OleDb. Este artigo discute vários prompts de erro que podem ser vistos no ASP.NET. Verifica-se que os arquivos de banco de dados criados pelo Access 2000 e pelo Access XP terão avisos de erro diferentes quando ocorrerem erros de acesso. Espero que ajude a todos. Outro ponto importante é que espero que através deste artigo todos tenham uma nova compreensão das configurações de permissão NTFS dos arquivos de banco de dados Access no ASP.NET.