Você está na página 1de 22

Servidor HTTP pequeno

Contedo

O que isso? License. Capacidades Como ...? Diretrios e arquivos de nomes Opes e parmetros de linha de comando Permitido e negado faixas de IP. Limites. A execuo de scripts Server Side Includes (SSI) As expresses regulares Aplicativos de servidor da Internet (ISAPI) Caractersticas pases Servidor Proxy Servidor DNS Servidor SMTP Servidor POP3 e procurao Servidor e proxy FTP Servidor TLS / SSL Concluso.

Se o servidor trabalha est disponvel:


Definir / estado atual Usurios e Hosts Virtuais atual estatsticas Web correio On-line: O que h de novo? (ltima verso, Forum, etc)Baixar Web Mail um script externo d INTRFACE Web para trabalhar com e-mail Baixar Sendmail emulador de Inscrio. E-mail ...

O que isso?
Este utilitrio pequeno transforma seu computador em um servidor Web totalmente funcional. O prprio programa exige um conjunto mnimo de recursos do sistema, ento o funcionamento do servidor no influencia o desempenho do seu computador. Este servidor pode funcionar sob uma rede LAN ou mesmo debaixo de uma rede dial-up. Webmasters podem executar este utilitrio em seus computadores locais e depurar seus scripts de CGI sem ir on-line.

Este provavelmente o servidor HTTP menor, mas voc no deve subestimar as suas capacidades.

Capabilities.

GET, POST, HEAD mtodos de apoio (HTTP/1.0 - 1.1) Multitarefa. - Transferncia de dados e recepo simultneas solicitaes de vrios usurios remotos com um atraso em funo da qualidade do canal. Alta performance. O servidor transfere dados sem qualquer demora. CGI-scripts disponveis: o PE *. Exe formato do Windows. o MZ *. Formato DOS exe. o *. Formato DOS com. o perl-scripts (com um perl-intrprete externo). o PHTML-pginas (com um externo PHP -intrprete). o applets de tipos de arquivos do Windows associados. Server Side Includes (SSI). Aplicativos de servidor de Internet ISAPI). Sada dinmica de informaes sobre pedidos. O cache de 16 Kb fornecido para o log. Aps os dados anteriores de estouro so substitudas por novas. A opo de "save", escreve a cada 4 Kb do protocolo no seu disco rgido. Controle de pedidos protege sua informao. Instalao simples.

Compactibilidade uma das maiores caractersticas do produto. O seu funcionamento no obstruir o seu trabalho. Este servidor usa um conjunto mnimo de recursos do sistema necessrios para a transferncia de dados rpida. Contedo

Como ...?
Bem, isso bastante fcil - configurar-lo, executando shttp3.exe. Selecione a pasta de destino, marque "entrada Update no menu principal", digite o nome de usurio e senha para administrao. Pressione o boto "Install". Aps a instalao, execute o "servidor HTTP pequeno" e v para Configuraes / Estado atual a

opo do servidor. Voc pode ir para o seu servidor web de uso PC local http://127.0.0.1/ . Se voc no tem o nome de DNS, isso no um grande problema.Qualquer usurio pode ir para o seu web site, digitando o seu endereo de IP. Voc tambm pode adicionar seu site aos motores de busca que aplicam o endereo IP como o URL.

Diretrios e nomes de arquivos.


O servidor funciona com determinados diretrios e nomes de arquivos. Seu site deve estar no diretrio especificado durante a configurao (WWW por padro). Os arquivos que o contedo identefer CGI no caminho so arquivos para ser executado. Por padro CGI identefer \ cgi-bin \, quando o servidor recebe uma solicitao de arquivo no diretrio cgi-bin, ele tenta execut-lo. Se o arquivo solicitado termina em. Pl, o interpretador PERL chamado. Se o arquivo solicitado termina em. Phtml,. PHT,. Php, o interpretador PHP executa esse arquivo. Por exemplo, se voc instalou o servidor em c: \ http, ento os arquivos em c: \ http \ www pode ser acessado, ou seja, um usurio digita http://Your_IP_address_here/test.html, ele ou ela vai ver c: \ http file \ www \ test.html. Scripts CGI esto em c: \ http \ www \ cgi-bin. Se voc criar imagens sub-pasta na pasta WWW e colocar bgr.gif l, ele pode ser acessado por http://Your_IP_address/IMAGES/bgr.gif. Enfim, se o nome do arquivo no for especificado, ou seja, o pedido termina em '/', o servidor ir mostrar o arquivo padro, cujo nome foi especificado ou durante o ajuste. Por exemplo, igual a http://127.0.0.1/My/ http://127.0.0.1/My/index.htm. Servidor pode suportar muitos hosts virtuais. Cada mquina virtual tem seu prprio diretrio raiz, e tambm pode incluir diretrios virtuais comuns para todos. Recursos virtuais pode ser privado para os usurios diretos. Tambm diretrios virtuais privadas podem ser avilable por buildin FTP (Opcionalmente). Nas opes voc pode direcionar os usurios para que resurse estaro disponveis, por meio de coma. Aps o usurio poder dirigir tipo de acesso:. R - read, write-W, NOFTP, NOHTTP Exemplo: admin: RW, annimo: RNOHTTP, user1, user2: R, user3: W, user4: RWNOHTTP vez de raiz dir voc pode link direto para outro servidor Web: http://other.host Neste caso servidor vai funcionar como proxy. Arquivos ASIS tambm suportam. Esses arquivos de contedo do cabealho HTTP no incio. Esses arquivos esto sendo usados para

redirecionar a solicitao de entrada para outro site. Este arquivo deve comear com a palavra "Status:" depois deste cdigo retornando e seu cabealho est indo. Depois de uma linha de cabealho est vazio, e dados. Extenso deve ser . asi ou . asis Contedo

Opes e parmetros de linha de comando.


Voc pode servidor opo via caixa de dilogo " S CONFIGURAES .. ", atravs de uma interface Web, se a administrao remota est ativada, ou voc pode editar o manual http.cfg ou apenas adicionar parmetros linha de comando. Em muitos casos, voc no precisa alterar as configuraes manualmente, mas se voc realmente quiser, voc pode fazer com as prximas chaves.
Parametr e comentar Configurao Geral cone na rea de notificao Disable. No adicione cone para systrey (janela do servidor sempre na parte de trs).Neste caso, para obter acesso a caixa de dilogo de administrao voc deve para: Para obter a janela do servidor, voc pode pressionar Ctrl-Alt-Del para abrir o gerenciador de tarefas, no gerenciador de tarefas selecione HTTP, e tentar mat-lo. Servidor ir noicon pedir-lhe "Voc quer fechar servidor HTTP?" - Se voc responder "No" vitrine servidor. No menu do sistema de seleo da janela do servidor (boto direito no ttulo) e selecione o item avanado "Servidor" Alm disso, se o servidor est runed como NT servio que voc pode abrir a janela do servidor Pausa / boto no Servio de Controle de Manatger Continuar. Minimizar na inicializao. Criar log detalhado para POP / SMTP / FTP. (por padro apenas eventos bsicos so adicionadas ao log). Desativar guardar o registo. Acesse nome. esconder pormenor nolog log = Nome.log Chave

Crie um registo dirio (novo registro criado depois de cada dia). necessrio obter estatsticas por um logday dia. Todos os dias Server ir renomear o arquivo de log antigo (adicionar a data ao nome). necessrio obter

estatsticas por um dia. Permitir a administrao remota. Caso contrrio, somente as estatsticas estaro disponveis para os administradores. Radmin

Nmero de solicitaes simultneas de cada host. Voc pode restringir o nmero de pedido de simulao do mesmo host. Normalmente, um from_same_host = # navegador cria quatro ligaes de simulao. Alguns # navegadores tentam criar muito mais conexes de simulao. Essa restrio inclui todas as conexes TCP (HTTP, FTP, POP, SMTP Proxy) IPs que podem aceder a este servidor. Separe nico ip_range = {# # # #... IP por vrgula e IP varia com hfens. [-... # # # #]} Negar IPs que no podem acessar este ip_deny = {# # # #... servidor. Separe nico IP por vrgula e IP varia com [-... # # # #]} hfens. Servidor HTTP Porta IP para o servidor HTTP TCP / IP. Geralmente port = # # 80 Nmero de solicitaes HTTP de trabalho simultneo. Approcsimately 20Kb de memria reservada para cada segmento. Normalmente 12 conexes bastante para 3-8 visitantes por minuto. Nome de arquivo padro. Nome quando solicitado URL terminou por "/". (Curingas so aceitos, como o ndice. * Para permitir que qualquer arquivo de ndice em pasta) max = # #

def = name.ext

Arquivo de erro. Caminho completo para o arquivo ou script que ser devolvido se o arquivo solicitado no foi error = caminho \ encontrado. Para CGI ou SSI PATH_INFO varivel name.ext contedo o nome do arquivo solicitado. Foulder web padro. CGI ident. The parte de uma URL que indica um script CGI. O padro "\ cgi-bin \", mas voc pode usar por exemplo "\ cgi-", "\ local-bin \", ". Cgi", etc dir =root_dir_name cgi_ident = "\ cgi-bin \"

PERL intrprete. Interpreter para scripts com extenso perl = caminho \ pl. name.exe Compartilhe dir. Se voc quer este dir-se CGI atual dir sempre, dirigi-lo aqui. Caso contrrio CGI atual dir ser partes = caminho script CGI dir. Ativar Server Side Includes (SSI) verificando em arquivos HTML. Por padro SSI marcando *, sml *, arquivos *. Asp. In. Sht. Aviso: processamento SSI usa mais memria e e cria um pequeno atraso Sht *, * sml, somente os arquivos * tecla para verificar ssihtm nossihtm

SSI em... ASP. Limite de bytes recebidos pelo mtodo POST para. Nota: O valor grande pode usar PC excessiva e recursos de rede. Nunca executar. Htm,. Gif,. Jpg. Caso contrrio, bandejas de servidor para executar qualquer arquivo com ident CGI. post_limit = # #

norunhtm

Limite de tempo de execuo de CGI. (em segundos) cgi_timeout = # # Intrpretes CGI Aplicao ou DLL que executado quando especfico CGI-arquivo solicitado. Por exemplo, para sh - d: \. gnu \ bin \ bash.exe , por cgi - d:. \ perl \ perlis.dll . ext = " . ext; aplicao;. ext; aplicao; ... " Tipos mime Definir estendido mime tipo de prorrogao. Por exemplo, para . bmp mime tipo pode ser image / bitmap mime = " ext1;. mime-tipo1;. ext2, mime-tipo2; ...;. Ramal; mime-Typen " Hosts virtuais e diretrio virtual Web raiz dir para hostname especfico. Voc pode adicionar muitos hosts com sua prpria pasta. Voc pode adicionar muitos virtuais /diretrio / comum para todos os hosts. "O nome do diretrio virtual estar entre dois barra (/). hostpath = " hostname; caminho " chave pode ser repetido mais de uma vez. Servidor Proxy Desativar proxy HTTP. Porta IP para o servidor proxy TCP / IP. Nmero de pedidos de proxy de trabalho simultneas. noproxy proxy = # porta proxy_max = # mx

IPs que podem aceder a este servidor. Separe nico proxy_range = {# # # IP por vrgula e IP varia com hfens. #... [-... # # # #]} Negar IPs que no podem acessar este proxy_deny = {# # # servidor. Separe nico IP por vrgula e IP varia com #... [-... # # # #]} hfens. No guarde proxy cache para o disco rgido. Diretrio de cache proxy. Para quantos dias os arquivos sero salvos. Proxy pode apagar arquivos baixados do diretrio do proxy cache aps vrios dias de ltimo download. Em qualquer caso, se pressione "Recarregar" arquivos boto de usurio baixar novamente. Ignorar sem cache nos cabealhos das pginas de controle. protocolo HTTP tem a oportunidade de desativar o cache de pgina. Muitas vezes, os detentores do site usar esta opo para calcular o nmero de vistors. Em qualquer caso, se pressione noproxy_dir proxy_dir =caminho

proxy_time = # dias

ignocache

"Recarregar" arquivos boto de usurio baixar novamente. Proxy para os usurios avtorized s. Proxy estar disponvel para usurios definidos com bandeira de acesso de proxy s Servidor DNS Arquivo Hosts. Veja tambm formato deste arquivo Desative o servidor DNS. Desativar a recursividade. Tamanho do cache de nomes. (em bytes) Recurso chamar somente os servidores de nvel superior. Voltar mailhost como nome do host, se o registro MX no foi encontrado. hospedeiros =hosts_file nohosts noreqursion dnscache dnsupl dnsmx proxyusers

IPs que podem aceder a este servidor. Separe nico dns_range = {# # # IP por vrgula e IP varia com hfens. #... [-... # # # #]} Negar IPs que no podem acessar este dns_deny = {# # # servidor. Separe nico IP por vrgula e IP varia com #... [-... # # # #]} hfens. Para redirecionar servidor remoto. Notificao IP atual URL para redirecionar servidor. URL completa para atualizar o seu endereo IP no servidor DNS ddns = url dinmico. "$ IP_ADDRESS" para inserir o seu endereo IP real para URL. Tempo para re-confirmar a sua IP no servidor de redirecionamento. Desativar DNS dinmicos. Servidor FTP Desative o servidor FTP Nmero de solicitaes simultneas. Porta IP para o servidor FTP TCP / IP. Geralmente 21 Tempo limite de sesso do usurio. (Em segundo) Connection vai fechar, se o usurio estiver inativo por este perodo. Nome de upload subdiretrio. Se o contedo do diretrio FTP este subdiretrio, os usurios com \ "somente leitura \" acesso ainda pode fazer upload de arquivos aqui. Eg / pub / " Ativar diretrios virtuais para FTP. Configurao do servidor POP3 noftp ftp_max = mx ftp_port = porto ftp_timeout = # N ddns_time = # N noddns

ftp_upload = "/ dir /" ftp_vdirs

Desative o servidor POP3. Nmero de solicitaes simultneas. Porta IP para o servidor POP3 TCP / . Geralmente 110 Configurao do servidor SMTP Desative o servidor SMTP. Nmero de solicitaes simultneas. Nome do servidor SMTP. (nome de domnio)

nopop3 pop3_max = mx pop_port = porto

nosmtp smtp_max = mx smtp_name =your.domain.name

Use todos os hosts virtuais como apelido o nome de vhalias domnio. Porta IP para o servidor SMTP TCP / IP. Geralmente smtp_port = porto 25 Caminho de sada. Diretrio para armazenar mensagens antes de enviCaminho enviado. Directory para armazenar as mensagens enviadas Caminho de erro. Diretrio para armazenar mensagens, por no enviar smtp_out =caminho smtp_sent =caminho smtp_err =caminho

Servidor DNS para obter informaes de roteamento smtp_dns = #. #. #. # de correio. (pode ser o servidor DNS padro) Alow qualquer campo "De". Caso contrrio servidor enviar mensagem de user_name @ your.domain.name s smtp_any

IPs que podem aceder a este servidor. Separe nico smtp_range = {# # # IP por vrgula e IP varia com hfens. #... [-... # # # #]} Negar IPs que no podem acessar este smtp_deny = {# # # servidor. Separe nico IP por vrgula e IP varia com #... [-... # # # #]} hfens. Lista negra de endereos de spamers email. addreses separadas por um espao. Use * @ host blacklist = " u @ para bloquear o recebimento de qualquer endereo ADR1 * @ ADR2 ..." deste host) Use as instrues do arquivo "forward" no diretrio para a frente do usurio. Alow execuo de aplicaes de arquivo "frente" do fwdrun usurio. Usurios Para dar mail, acesso FTP, Administrao voc deve adicionar usurios. = "user name, password; home_dir; type_of_access_flags " chave pode ser repetido mais de uma vez. type_of_access_flags - a seqncia do prximo smbolo:

F - Acesso FTP - o usurio pode ler os arquivos de seu diretrio home e

qualquer subdiretrio via FTP. W - acesso de gravao FTP - o usurio pode fazer upload de arquivos para seu diretrio home via FTP. N - Desativar fazer upload de arquivos via cgi-ident no caminho. S - SMTP. O usurio pode enviar mensagens via SMTP de user_name @ your.domain.name P - POP3. Usurio ter caixa de correio. Todas as mensagens de user_name @ your.domain.name ser armazenado em home / diretrio mbox e disponvel via POP3. A - Esta administrador. - Ele tem pleno acesso s pginas do governo, pode adicionar usurios, mudar os direitos de acesso, etc .. H - Proxy. O acesso ao proxy.

Para ter acesso FTP voc pode adicionar annimo usurio sem senha Neste caso, basta pular senha. Por exemplo:
user = anonymous;, c: \ public; FWN user = ftp;, c: \ readonly; F

Por favor, note que no deve haver espaos antes e depois de "=". Se um parmetro voc est entrando contm espaos certifique-se de coloc-los entre aspas. Aqui est um exemplo de uma linha de comando correta:
http.exe port = 1080 def = index.html php = "C: \ Arquivos de Programas \ PHP \ php.exe" nolog

Aqui est um exemplo de arquivo de configurao:


log = C: \ TEMP \ http.log perl = C: \ PERL \ BIN \ perlis.dll # suportado! max = 12 def = index.stm @ Www.cfg # include outro arquivo de configurao hostpath = www.name.www; C: \ www1 hostpath = max.name.www; C: \ www2 # Fim do arquivo

Contedo

Permitido e negado faixas de IP.


Para cada servio que voc pode direcionar endereos IP permitidos e negados. Tambm presente comum permitido e faixas de IP negou a bloquear ou permitir o acesso a todos os servios de TCP, e faixas que definem IPs de onde administrao Web disponvel. Endereos

dirigido atravs coma. Voc pode dirigir um endereo ou intervalo. Exemplo: 127.0.0.1,192.168.0.1-192.168.0.255 HTTP, FTP, POP3, Proxy receber pedido de IPs que incluem na lista de permitidos e excluir lista negado. SMTP receber a mensagem para o prprio domnio (entrada para prprios usurios) de quaisquer endereos, excluir negado. As mensagens a serem enviadas de fora, ele vai ter a partir de IPs permitidos somente Se voc no quer receber mensagens de alguns IP - basta adicion-lo lista negado. Servidor DNS tambm recuperar registros locais para ningum, mas a recursividade procurando-se para IPs da lista de permitidos apenas. Contedo

Limites.
Voc pode dirigir limites para troca de HTTP, Proxy, SMTP, FTP. Para isso, no tempo direto configuraes para que apresentar limite e valores para IP, rede deste IP, eo limite total para o servio. Chamar a ateno, que quando o limite ser sobre a troca no ser pausa at arquivo completo no ser transferncia. Ao limitar prximas chamadas estouro do tempo calculado a partir do valor estouro sero falhou. Contedo

Execuo de scripts.
Arquivos solicitados que o contedo identefer CGI no caminho ser executado. Se "arquivos" sistema "Run" opo selecionada, em seguida, os arquivos com 'sistema' atributo ser executado tambm. CGI/1.1 padres so suportados, para referncia consulte RFC3875 . Ao executar um script, os parmetros da linha de solicitao so transferidos tanto na linha de comando e varivel de ambiente QUERY_STRING. O script transfere dados diretamente para

o cliente que o solicitou. Um script deve sada Content-Type: tipo \ r \ n ou Location: url . Poderia haver algumas linhas auxiliares, como Content-Length: xx \ r \ n ou Data:. Estes dados end in \ r \ n \ r \ n. Se voc usar C ou Perl, por favor, note que em modo texto funes de sada transformar automaticamente \ n para \ r \ n. Funo writeln Pascal tambm completa a produo com estes smbolos. (\ = R [CR] = 0x0D; \ n = [LF] = 0x0A) Contedo.

Server Side Includes (SSI)


SSI pode aumentar significativamente as suas capacidades que lhe permite inserir dinamicamente resultados de scripts CGI em qualquer lugar de um documento que est sendo mostrado para o usurio. Quando um cliente remoto solicita um arquivo shtml *. Sht, *. Shtm ou *., O servidor retorna avaliar marcas SSI que esto contidas ali. Tag SSI ter o seguinte formato: <- # tag_name {variavel = "valor"} -> HTTP ou variveis formulrio de solicitao pode ser colocado no campo "valor". Nome da varivel comea com US $ e pode ser mais tarde colocado em chaves {}, se voc quiser concatenar o valor da varivel com o texto posterior (exceto espaos). Por exemplo, $ USER_AGENT contm o tipo de navegador, e se voc quiser concatenar com "_12345", use "$ {} USER_AGENT _12345". Quando o uso de smbolos como $, \ ", certifique-se de lugar \ diante deles: $ -, \ \ $ - \, \" - "etc Se uma varivel no pode ser avaliada, substitudo pelo" valor \ indefinido " . Verso atual do servidor suporta as seguintes tags: incluir <- # include virtual = "caminho / nome_do_arquivo" -> <- # include file = "full_path / nome_arquivo" -> Ambas as variantes incluem o contedo de file_name no documento. No primeiro caso, ele olha para o documento a partir do diretrio raiz da web, no segundo caso, voc pode definir um caminho para o documento. Se o documento solicitado contedo cgi_ident no caminho, o servidor executa o arquivo. Se o file_name contm o "?" smbolo, a cadeia depois transmitida como um pedido com os parmetros que devem ser processados pelo seu script. exec <- # exec cgi = "nome_arquivo" -> <- # exec cmd = "nome_arquivo" -> Executa o script parecido com "incluir" tag, a partir de / cgi_ident / subdiretrio

fsize & lastmod <- # fsize virtuais = "caminho / nome_do_arquivo" -> <- # fsize file = "full_path / nome_arquivo" -> <- # lastmod virtuais = "caminho / nome_do_arquivo" - > <- arquivo # lastmod = "full_path / nome_arquivo" -> mostra o tamanho do arquivo e data da ltima modificao. echo <- # echo var = "var" -> Imprime valor da varivel. printenv <- # printenv -> Sadas os valores de todas as variveis. quebrar <- # break -> Breaks procisso do documento. se - elif - mais - endif <- # if expr = "expresso" -> texto <- # elif expr = "expresso" -> texto <- # elif expr = "expresso "-> texto ... <- # else -> texto <- # endif -> O texto ser ou mostrado ou no, dependendo dos resultados das condies especificadas. As condies podem consistir de variveis e valores, bem como diferentes operadores lgicas entre eles: ! - "No" = ou == - "igual a" = - "No igual a" <,>, <=,> = - "Menos", "Maior que", "menor ou igual com "," Maior ou igual a ". ~ - "Parte ..." str1 str2 ~ - o resultado verdadeiro, se a string str2 a parte da cadeia str1 str1 = ~ / padro / ig - padro expresses regulares como Unix . O resultado ser verdadeiro, se na cadeia str1 foi encontrado substring igual por padro. && - "e" | | - "ou" elif e mais operadores podem ser omitido, elif pode ser repetido quantas vezes for necessrio . necessrio colocar o endif tag no final de suas declaraes.

definir <- # set var = valor "varivel" = "valor" -> Define ou altera o valor da varivel. Embora, no tente usar esse recurso muitas vezes porque o nmero de variveis e memria alocada para eles um pouco restrito. Contedo

Expresses Regulares
Para verificar incomming variveis encontrando por padro avilable. Padro expresses regulares, com a sintaxe aceito em Unix.Expresses regulares substring de encontrar. Dentro deste substring tambm pode estar presente metacharacters, quantificadores e variveis. A seguir metacharacters understen: ^ - comear da linha. . - qualquer caractere exceto nova linha. \ - se o prximo caractere metacharacter que undesten apenas como personagem. Por exemplo, "\". apenas um ponto. Tambm conhecido sequensies os seguintes:

\ N - nova linha \ R - retorno \ T - tab \ \ - \ - barra \ X # # - cdigo hexadecimal do char. \ O # # # ou \ 0 # # # - Cdigo octal do char. \ # # # - cdigo decimal do char.

[] - em colchete pode ser direcionado valores avilable ou unavilable para o prximo caractere: Se o primeiro caractere na faixa '^', este carvo mdio pode ser qualquer um, exceto outros chars dirigidas no suporte. Caso contrrio, o carvo pode ser apenas um caractere do suporte. '-' Dentro do suporte significa que todos os caracteres de preveous de "-" para char depois '-'. O char '\' dentro do suporte mudou tambm a interpretao do prximo caractere. Exemplos:

[0-9] - significa tudo diget. [A-zA-Z] - significa todas as letras. [^ @ $ \ - \ N \ o008 \ x01] - qualquer caractere exept @, $, -, nova linha e caracteres com cdigos de 8 e 1.

() - prescrever para salvar substring por padro dentro do suporte para o uso no futuro. A substring fundada ser avilable como variveis de $ 1 a $ 9. O ltimo resultado tambm como avilable $ + . A seqncia de retrasada resultado avilable

como $ ` . A cadeia aps ltimo resultado avilable como $ ' | . - ou Aps metachar pode estar presente quantificador: * - repetir 0 ou mais vezes. + - repetir uma ou mais vezes. ? - podem estar ausentes {N} - repeat 0 ou mais vezes. {N,} - repita n ou mais vezes. {N, m} - repetir pelo menos n, mas no mais do que m vezes. Depois de qualquer quantificador pode seguindo modificador '? para diminuir o padro de distribuio at o primeiro coincidncia posible. Um exemplo, quando encontrar em cadeia '123abcdefff567 '

com padro / ([az] *) / $ 1 ser "abcdefff" com padro / ([az] *) f / $ 1 ser "abcdeff" com padro / ([az] *?) f / $ 1 ser "abcde"

No final do patern, aps a ltima barra, pode ser que flui vrios modificadores. Novembro o programa Understan prximos vrios modificadores: i - padro de maisculas e minsculas v - force desativar para limpar a lista de variveis ($ 1 - $ 9). Sem este modificador o programa vai limpar a lista de novas expresses lgicas, quando as primeiras expresses regulares para essa lgica vai comear a verificar. c - fora de limpar a lista de variveis ($ 1 - $ 9) antes de comear. Em uma expresso lgica pode ser mais do que uma expresses regulares. Por padro, todos eles usam a mesma lista de variveis e, por exemplo, se a primeira expresso cheia US $ 1 e US $ 2, o segundo pode preencher apenas de US $ 3 se voc usar essa expresso modificador vai encher variveis comeam a partir de $ 1 independncia do resultado de preveuse parte da expresso lgica . Contedo

Aplicativos de servidor da Internet (ISAPI)


alternativa para gateway Arquivos executveis interface comum. O servidor ir identificar um arquivo com uma extenso. DLL como um script para executar. Para cada solicitao do cliente, o HttpExtensionProc ponto de entrada chamado. Minha realizao desta interface ter caractersticas prximas: Se HttpExtensionProc retorno de 4 (HSE_STATUS_ERROR) ou grande, ento DLL ser descarregar. Quando o script de chamada WriteClient o dwHttpStatusCode deve contentar valor vlido ou comea com HTTP / resposta HTTP e contedo integral. O absentce de GetExtensionVersion no um erro.

Contedo

Caractersticas pases
O programa pode mostrar estatstica por parte dos pases e servidor pode adicionar REMOTE_COUNTRY varivel com o nome do pas para SSI / CGI ambiente. Banco de dados IP-contry precisa para esses recursos. Banco de dados compresed (cerca de arquivo 130Kb e alocar cerca de 300 Kb de memria). Pesquisa rpida no vai atrasar SSI e execuo CGI. O programa no garanted deteco pas vlido por tempo Evry, mas em muitos casos ele ser. Para os endereos IP que ausentes no banco de dados do servidor mostrar "desconhecido" em vez nome do pas. Agora banco de dados do pas no o contedo de alguns IP dos EUA e do Canad, porque eu no encontrei dados IP completo AIRN, mas eu ainda trabalhar nesse sentido ... Contedo

Procurao
Se o cache de disco rgido habilitado servidor ir armazenar todos os arquivos incomming exceto pginas autorizados. Servidor pode apagar arquivos baixados do diretrio do proxy cache aps vrios dias de ltimo download. Voc pode chouse salvar dados baixados por muito tempo, e neste caso, voc ter grande quantidade de arquivos e quantidade ser crescer, e crescer, e crescer ... Alguns sistemas de arquivos que trabalham lentamente quando muito de arquivos no diretrio. Para este caso use o modo grande, - o servidor criar 64 subdiretrios e salvar os arquivos l. Veja tambm as chaves de linha de comando descries Contedo

Servidor DNS
Este servidor DNS contedo da verso. Para executar voc deve especificar os hosts de arquivos. Arquivo tem formato de um lado compatvel com arquivo hosts do sistema e, por outro lado pode ser tanto com o formato de arquivo mestre recomendado pela RFC 1035.Para compatvel com arquivo hosts do sistema, cada linha pode contedo endereo IP eo nome do host. Os comentrios comeam com o smbolo '#' . Nome de domnio neste arquivo poderia comear a partir de '*.' a descrita tudo subdomnio. Exemplo:
# Aqui est um exemplo de arquivo de hosts da rede local.

192.168.1.21 192.168.1.21 192.168.1.20 192.168.1.22 192.168.1.23 192.168.1.26 192.168.1.24 192.168.1.25 # Etc ...

www.max.local max.local *. Max.local www.boss.local serg.local www.serg.local *. Andy.local *. Mary.local

# Para criar sua prpria rede discada adicionar ltimo registro: 192.168.1.21 * # - Redirecionar todo desconhecido solicitao de entrada para 192.168.1.21 # Fim de arquivo hosts

Alm disso, cada linha pode o contedo de domnio de nome e descrio RR e comentrio pode comear com ';' As linhas seguintes so suportados: $ ORIGIN <domain-name> $ TTL <validate-time> - um inteiro de 32 bits no assinado que especifica o intervalo de tempo (em segundos) que o registro de recurso pode ser armazenada antes de ser descartado. $ IF_DOWN <host:port> <interval> Old.IP = New.IP - por este servidor opo tentar conectar-se ao host: porta para intervalo de tempo (em segundos), e se falhar em cada registro com Old.IP ser replasing para New.IP. [ <domain-name> ] <blank> [ <TTL> ] EM <tipo> <RDATA> Para o domnio descrio ao contrrio RFC recomendao voc deve dirigir plena <domain-name> ('@' no interpretar, ltimo ponto pode ser ignorada ou apresent-lo a mesma coisa). Pode ignorar <domain-name> neste caso nome preveus ser usado. Ao contrrio RFC recomendao voc deve direcionar classe "IN" para cada linha com o formato RR. <tipo> podem ser: A <ip-address> - um endereo de host NS <full-name> - um servidor de nome de autoridade CNAME <full-name> - o nome cannico para um alias. O 'A' registro para o nome original deve apresentar neste arquivo. SOA <full-name> <e-mail por RMAN> ( <serial> , <Refresh> , <RETRY> , <EXPIRE> , <MINIMUM> ) - marca o incio de uma zona de autoridade MX <preference> <full-name> -. troca de correio <preference> numbre de 1 a 255. Os valores mais baixos so preferidos. PTR <full-name> - um nome. Anfitrio do lado esquerdo deve ser #. #. #. #. Inaddr.arpa Outros tipos so ignoradas. Tambm para pedidos PTR, se o registro PTR no encontrado, RDATA para o servidor d resposta do primeiro 'A' com a gravadora como IP, ou a partir de linhas compatveis com arquivo hosts do sistema. Para cada tipo de registro de nome de domnio pode comear a partir de curinga '*'. para descrpibe todos os sub-domnios. Server suporta '*' tipo de pedido para voltar tudo sobre domnio. Para o domnio com a resposta curinga tambm o contedo curinga. Para outros tipos de solicitao de resposta ser, sem curinga. Servidor pode apoiar chamada reqursion. Para liberar a resoluo para qualquer domnio que voc deve dirigir registro NS para servidores raiz. Se voc marcar "chamada

recurso para servidores de nvel at s", voc deve dirigir servidor DNS do seu provedor, em vez servidores raiz, e um programa chamar apenas para esses servidores. Caso contrrio, o servidor vai chamar para diferentes servidores zona. Exemplo:
# Aqui est um exemplo de arquivo de hosts para o domnio exportao para Internet, # E resolver outros nomes. , Em primeiro lugar, as linhas contm as informaes sobre os servidores de nomes de raiz necessrios para , Inicializar o cache de servidores de nomes de domnio na Internet . IN NS a.root-servers.net a.root-servers.net EM UM 198.41.0.4 . IN NS b.root-servers.net b.root-servers.net EM UM 128.9.0.107 . IN NS c.root-servers.net c.root-servers.net IN A 192.33.4.12 . IN NS d.root-servers.net d.root-servers.net IN A 128.8.10.90 . IN NS e.root-servers.net e.root-servers.net IN A 192.203.230.10 . IN NS f.root-servers.net f.root-servers.net EM UM 192.5.5.241 . IN NS g.root-servers.net g.root-servers.net IN A 192.112.36.4 . IN NS h.root-servers.net h.root-servers.net IN A 128.63.2.53 , Agora declarar nosso domnio $ TTL 86400; TTL - 24 horas somedomain.net IN SOA somedomain.net max@somedomain.net ( 2002120602; Serial 36000; Atualizar 3000; Repetir 36000000; vencimento 36000; mnima ) IN NS ns.somedomain.net IN NS ns2.somedomain.net IN MX 1 relay1.somedomain.net IN MX 2 relay2.somedomain.net IN A 192.168.12.1 ns.somedomain.net IN A 192.168.12.1 ns2.somedomain.net IN A 192.168.12.2 relay1.somedomain.net IN A 192.168.12.1 relay2.somedomain.net IN A 192.168.12.2 pc2.somedomain.net IN A 192.168.12.2 IN NS ns2.somedomain.net IN MX 1 relay1.somedomain.net *. Somedomain.net IN A 192.168.12.1 IN NS ns.somedomain.net IN NS ns2.somedomain.net IN MX 1 relay1.somedomain.net

IN MX 2 relay2.somedomain.net E tambm esse arquivo pode linhas de contedos em formato a seguir: 192.168.12.1 www.max.local 192.168.12.2 max.local 192.168.12.1 *. Max.local # Fim de arquivo hosts

Veja tambm as chaves de linha de comando descries

Servidor SMTP
Servidor SMTP pode: Receber mensagens de usurios definidos. Endereo de destino deve ser user_name @ your.domain.name Esta loja mensagens no diretrio \ mbox casa do usurio e est disponvel via POP3. Receber mensagens de usurios definidos para ningum. Endereo de origem deve ser user_name @ your.domain.name Voc pode habilitar a receber mensagens de algum a qualquer um, e voc pode restringir o intervalo de IP remoto, para que este tipo de mensagens permitir. Para obter informaes de roteamento de correio, servidor SMTP pede servidor DNS. Voc deve dirigir IP DNS em opes. Voc pode adicionar alguns endereos de spamers na lista negra. Mensagens desses endereos nunca ser recebido. Tambm servidor pode suportar badlist comum e pessoal e arquivos goodlist. Os nomes de listas comuns que voc pode dirigir em opes. Tambm em opes que voc pode permitir verificar os arquivos pessoais com o nome "badlist" e "goodlist" no diretrio home do usurio. Cada linha desses arquivos podem ser:

Endereo de e-mail ou qualquer parte do endereo. Endereo IP ou parte do endereo IP. ? expresion lgica onde voc pode fazer a ao com variveis $ remetente, Ol $, $ controle. o $ Sender - endereo de retorno o Ol $ - auto-identificao de um servidor remoto. o $ Controle - linha completa identificao em formato de fluxo: "De
remetente (remote_hello [IP]) Data e hora para os receptores \ r \ n"

? Lista de servidores DNSBL

Exemplo:
# Incio do arquivo @ Yahoo 4.79.181. 67.28.113. one@address.com loto ? $ Sender == Spamer @ endereo

? ! Ol $ = ~ /. + \. [Az] {2,4} / ? $ Controle = ~ / \ [64.156.215. * \] / # Fim do arquivo

Voc pode permitir que servidor para verificar os arquivos "forward" do usurio, para redirecionar ou filtrar mensagens. arquivo chamado "forward" poderia ser colocado no diretrio home do usurio. Quando a opo habilitar servidor analisa cada linha deste arquivo e compreende instruo seguinte: # If expresso - prximas linhas ser verificado se a expresso verdadeira # Elif expresso - se a condio anterior for falsa, ento as prximas linhas ser verificado se a expresso verdadeira # Else - prximas linhas ser verificado se a condio anterior falsa # Endif - fim do bloco condies # Mv onde - Mensagem de mudana # Cp onde - mensagem de cpia # Rm - remove mensagem # nada - comentrio ! d: \ path \ aplicativo {params} - executar "d: \ path \ aplicativo {params} users_home \ mbox \ name.msg". Se a execuo permitir que em apenas opes. Tambm posible para varivel contnua ($ variable_name) em linha de comando, mas neste caso:

- "Users_home \ mbox \ name.msg" no sero adicionados automaticamente. Voc pode usar a varivel $ MSGFILE para inserir o nome do arquivo de mensagem. - A corda consideram ser interpretvel, a barra '\' understud como comear de seqncia de escape, replase para dois barra. ("\ \")

para1 @ host1 {toN @ hostN} - redirecionar mensagem para este endereo. As condies podem consistir de variveis ( $ size_kb - tamanho da mensagem em KB; $ in_text ( texto de encontrar ) - verdadeiro se o texto foi encontrado em a mensagem; $ text - texto completo com a cabea; $ corpo - corpo da mensagem; $ errorlevel - o valor retornado pelo ltimo script ou nula externo se no corre bem sucedidos antes) e valores, bem como diferentes operadores lgicos entre eles: ! "No" = ou == - "igual a" = - "No igual a" <,>, <=,> = - "Menos", "Maior que", "menor ou igual com "," Maior ou igual a ". a parte da cadeia str1 && - "e" | | "ou" str1 = ~ / padro / ig - padro expresses regulares como Unix . O resultado ser verdadeiro, se na cadeia str1 foi encontrado substring igual por padro. Space and backbarra ('\') no final da linha mdia continua atual comando na prxima linha. Exemplo:

# Aqui est o exemplo de arquivo para a frente. # If $ text = ~ / \ nno:.? * Boss @ endereo / i ! D: \ perl \ bin \ perl.exe check.pl # Endif # If $ in_text (100% FREE) # Mv c: \ provavelmente \ o spam # Elif $ size_kb <= 20 &&! ($ Text = ~ / ^ From: * ([^ <] + @ [^> \ r \ n] +) * / i && ($ 1 == my@private.address | | 1 dlar.? == Patro. @ address) | | $ in_text (no redirecionar)) # Cp c: \ provavelmente \ importan my_home @ endereo my_seccond_address@gmail.com # Else ! D: \ perl \ bin \ perl.exe autoreply.pl $ MSGFILE um dolar # Endif # Fim do arquivo para a frente

Antivrus roteiro tem mesmo formato de arquivo para a frente, mas ao contrrio de frente arquiv-lo verificao antes de enviar cada mensagem. Exemplo:
# Aqui est o exemplo de arquivo antivrus. # If $ text = ~ / Content-Transfer-Encoding:?? ["`] Base64 [\ 001 - \ xFF] * \ n \ r \ nTVqQAAMA / # # # ! # If $ text = ~ / name =. * \. Pif / Mv c: \ provavelmente \ virus Else C: \ DrWeb \ drwebcl.exe / GO / TM-/ WA-/ TB / ML Endif

# Elif $ body = ~ / <script language = / && $ body = ~ / <! DOCTYPE HTML / # Mv c: \ provavelmente \ o spam # Endif # Fim do arquivo

Break-filtro destinado a quebrar o recebimento de mensagens de spam tamanho de comprimento. Break-filtro expresso lgica que pode fazer a verificao depois de servidor receber primeiro 8Kb da mensagem. Se o resultado desta expresso verdade, a continua da mensagem no ser seguinte recebeu, para o campo "Assunto" do cabealho ser adicionado "[SPAM]", combinao de "remetente + endereo IP + servidor do Ol + recepes" vontade ser colocado na lista ruim temporrio, e ao lado tenta enviar as mesmas mensagens ser interrompido antes de comear a transferncia de dados. Dentro de expresso pode ser usado variveis seguintes: $ Msg - primeiro 8Kb da mensagem $ Sender - endereo de retorno Ol $ - auto-identificao de um servidor remoto.

$ Controle - linha completa identificao em formato de fluxo: "De remetente (remote_hello [IP]) Data e hora para os receptores \ r \ n" Voc pode incluir as mesmas aes que no '# se Operador: | |, &&, < ,>,> =, <=, ==, =, = ~! O exemplo:
(($ Msg = ~ / ^ a partir de: [^ \ n \ r] * <([^> \ n \ r] +)> / i | | $ Msg = ~ / ^ From: [\ t] * ([^ \ n \ r] +) /) ) | |! $ 1 = $ sender | | $ Msg = ~ / ^ Subject: [^ \ n \ r] * Novo site | Voc ganhar / i | | $ Msg = ~ / a | para [\ r \ n \ t] + unsubscribe [\ r \ n \ t] + [\ r \ n \ t] + imprensa | go | aberto | resposta | no / i

Neste exemplo:; seguinte linha de pesquisa no campo Assunto "New primeiros quatro linhas de verificao de campo 'De' est presente na mensagem e obter o endereo deste campo, e este endereo deve ser o mesmo endereo do remetente (caminho de retorno) faz local "ou" Voc est ganha ", e ltima linha tentar detectar algumas seqncias como" To unsubscribe fazer alguma coisa ... " Se qualquer uma dessas condies ser verdadeira, a mensagem ser detectar como spam. Veja tambm as chaves de linha de comando descries

Servidor POP3 e procurao


Servidor POP3 fornecer acesso a incomming e-mail. Se POP3 proxy est ativado, os usurios podem opo de programa do seu cliente de e-mail para receber mensagens de outro POP3 remoto atravs deste POP3. Para isso, user opo no programa do cliente deve ser: local_user @ REMOTE_USER @ remote_host senha deve ser: local_password @ remote_password Ou @ remote_password parte pode ser adicionado ao usurio opo. Em qualquer lugar, em vez '@' pode ser usado '#' . Se Web Mail permitiu que os usurios que tm acesso POP3 pode us-lo por URL http://host.name/ _wmail_ $ $ . Web mail avilable apenas a partir de endereos IP da gama POP3.

Servidor e proxy FTP


Servidor FTP fornecer acesso a diretrios de usurios e se a opo "Ativar diretrios virtuais para FTP" selecionado, em seguida, fornecer acesso a privadas diretrios virtuais. Diretrios virtuais pblicos so unavilable atravs de FTP. Se proxy FTP estiver ativado, os usurios podem opo de programa do seu cliente FTP para trabalhar com FTP remoto atravs deste FTP.Para isso, user opo no programa do cliente deve ser: local_user @ REMOTE_USER @ remote_host senha deve ser: local_password @ remote_password Ou @ remote_password parte pode ser adicionado ao usurio opo. Em qualquer lugar, em vez '@' pode ser usado '#' . Alguns clientes FTP (por exemplo, plug-in FTP para o gerente Far) suportam tanto tipo

de proxy FTP. Neste cliens voc pode firewall opo de configurao para your_host: ftp_port e dirrect URL FTP assim: ftp://local_user # REMOTE_USER: local_password # remote_password @ ftp_host /

Servidor TLS / SSL


O servidor no tem contedo real TLS buildin / funes de criptografia SSL, mas inclui interface para conectar externos TLS / SSL biblioteca.Voc pode ligar OpenSSL ou GNU TLS com o servidor. DLL simples, baseada em OpenSSL 0.9.6j avilable aqui: seclib.zip Contedo

Concluso
Finalmente, quero pagar o meu mais profundo respeito aos GNU compilador C + + programadores. Foi esse compilador que compilou este programa. Agradeo GNU por me dar a oportunidade de escrever os melhores programas que utilizam o melhor compilador. Voc pode visitar os recursos do GNU: DJGPP -. home page de traduo GNU GCC para DOS eu usei essa verso, minhas
bibliotecas chamando Win32 API e meu programa de construo Windows PE * exe do COFF a.out.

Texto original
If HttpExtensionProc return 4 (HSE_STATUS_ERROR) or great then DLL will be unload.
Sugira uma traduo melhor

GNU - a prpria GNU.

M. Feoktistov

Contedo