A maioria dos hosts virtuais agora desativou o componente padrão do ASP: FileSystemObject, porque esse componente fornece ao ASP recursos poderosos de acesso ao sistema de arquivos e pode ler, gravar, copiar, excluir, renomear, etc., qualquer arquivo no disco rígido do servidor (de. claro, isso só é possível no Windows NT/2000 usando as configurações padrão). No entanto, após a desactivação deste componente, a consequência é que todos os ASPs que utilizam este componente não poderão ser executados e não poderão satisfazer as necessidades do cliente.
Como permitir o componente FileSystemObject sem afetar a segurança do servidor (ou seja, diferentes usuários de host virtual não podem usar este componente para ler e gravar arquivos de outras pessoas)? Aqui apresento um método que obtive no experimento. A seguir, uso o Windows 2000 Server como exemplo para ilustrar.
Abra o gerenciador de recursos no servidor, clique com o botão direito na letra da unidade de cada partição ou volume do disco rígido, selecione "Propriedades" no menu pop-up, selecione a guia "Segurança" e então você poderá ver quais contas podem acessar isso partição (volume) e direitos de acesso. Após a instalação padrão, “Todos” aparece com permissões de controle total. Clique em "Adicionar", adicione "Administradores", "Operadores de backup", "Usuários avançados", "Usuários" e outros grupos e conceda "Controle total" ou permissões correspondentes. Tenha cuidado para não conceder o grupo "Convidados", As contas ". IUSR_machine name" tem alguma permissão. Em seguida, exclua o grupo "Todos" da lista, para que apenas grupos e usuários autorizados possam acessar esta partição do disco rígido. Quando o ASP é executado, ele acessa o disco rígido como "IUSR_machine name". , o ASP não poderá ler e gravar arquivos no disco rígido.
Tudo o que precisa ser feito é configurar uma conta de usuário separada para cada usuário do host virtual e, em seguida, atribuir a cada conta um diretório que lhe permita controle total.
Conforme mostrado na figura abaixo, abra "Gerenciamento do Computador" → "Usuários e Grupos Locais" → "Usuários", clique com o botão direito do mouse na coluna direita e selecione "Novo Usuário" no menu pop-up:
Na caixa de diálogo pop-up "Novo usuário", insira "Nome de usuário", "Nome completo", "Descrição", "Senha" e "Confirmar senha" de acordo com as necessidades reais e adicione "O usuário deve alterar a senha no próximo vez que ele fizer login" antes de "O usuário deve alterar a senha na próxima vez que fizer login". Remova as marcas de seleção e selecione "O usuário não pode alterar a senha" e "A senha nunca expira". Este exemplo é para criar uma conta integrada "IUSR_VHOST1" para o usuário do primeiro host virtual acessar anonimamente os serviços de informações da Internet. Ou seja, quando todos os clientes acessam esse host virtual usando http://xxx.xxx.xxxx/ , eles usarão esta conta acessada por identidade. Após completar a entrada, clique em “Criar”. Você pode criar vários usuários de acordo com as necessidades reais e clicar em "Fechar" após a criação:
Agora que o usuário recém-criado apareceu na lista de contas, clique duas vezes na conta na lista para obter mais configurações:
Na caixa de diálogo de propriedades pop-up "IUSR_VHOST1" (ou seja, a nova conta recém-criada), clique na guia "Pertence a":
A conta recém-criada pertence ao grupo "Usuários" por padrão. Selecione o grupo e clique em "Excluir":
O que aparece agora é como mostrado na imagem abaixo. Neste momento, clique em “Adicionar”:
Encontre "Convidados" na caixa de diálogo pop-up "Selecionar grupo", clique em "Adicionar", este grupo aparecerá na caixa de texto abaixo e clique em "OK": [www.knowsky.com]
O que aparece é mostrado na figura abaixo. Clique em "OK" para fechar esta caixa de diálogo:
Abra "Internet Information Services" e comece a configurar o host virtual. Neste exemplo, tomamos a configuração de "Primeiro Host Virtual" como exemplo. Clique com o botão direito no nome do host e selecione "Propriedades" no menu pop-up:
Uma caixa de diálogo "Propriedades do primeiro host virtual" é exibida. Na caixa de diálogo, você pode ver que o usuário do host virtual usa a pasta "F:VHOST1":
Ignore a caixa de diálogo "Propriedades do primeiro host virtual" agora, mude para "Explorador", encontre a pasta "F:VHOST1", clique com o botão direito, selecione "Propriedades" → guia "Segurança", neste momento você pode ver isso a configuração de segurança padrão da pasta é controle total de "Todos" (o conteúdo exibido não é exatamente o mesmo dependendo da situação). Primeiro, altere "Permitir que permissões herdáveis do pai sejam propagadas para o objeto" na parte inferior. Remova a marca de seleção:
Neste momento, um aviso de “segurança” conforme mostrado abaixo irá aparecer, clique em “Excluir”:
Neste momento, todos os grupos e usuários na guia Segurança serão limpos (se não forem limpos, use "Excluir" para limpá-los) e clique no botão "Adicionar".
Adicione o "Administrador" conforme mostrado na imagem e a nova conta "IUSR_VHOST1" criada anteriormente, que dará permissões de controle total. Você também pode adicionar outros grupos ou usuários de acordo com as necessidades reais, mas certifique-se de não adicionar os "Convidados". group , "IUSR_machine name" e essas contas de acesso anônimo são adicionadas!
Em seguida, mude para a caixa de diálogo "Propriedades do primeiro host virtual" que foi aberta anteriormente, abra a guia "Segurança de diretório" e clique em "Editar" em Acesso anônimo e controle de autenticação:
Na caixa pop-up "Método de verificação" (conforme mostrado abaixo), clique em "Editar":
Aparece a "Conta de usuário anônimo", o padrão é "IUSR_Machine Name", clique em "Navegar":
Na caixa de diálogo "Selecionar usuário", encontre a nova conta "IUSR_VHOST1" criada anteriormente e clique duas vezes:
Neste momento, o nome de usuário anônimo foi alterado. Na caixa de senha, digite a senha definida para a conta quando você a criou anteriormente:
OK, pronto, clique em OK para fechar essas caixas de diálogo.
Após esta configuração, os usuários do "primeiro host virtual" que utilizam o componente FileSystemObject do ASP só poderão acessar o conteúdo em seu próprio diretório: F:VHOST1. Ao tentar acessar outro conteúdo, uma mensagem de erro como "Sem permissão" aparecerá. . "O disco rígido não está pronto", "500 Server Internal Error" e outras mensagens de erro são exibidas.
Outro: se o usuário precisar ler a capacidade da partição do disco rígido e o número de série do disco rígido, tal configuração impossibilitará a leitura. Se você deseja permitir a leitura do conteúdo relacionado a toda a partição, clique com o botão direito na partição (volume) do disco rígido, selecione "Propriedades" → "Segurança", adicione a conta deste usuário à lista e forneça em menos "Ler" "Permissões. Como todos os subdiretórios neste volume foram definidos como "Proibir a propagação de permissões herdáveis do pai para este objeto", as configurações de permissão dos subdiretórios a seguir não serão afetadas.