Geração de páginas dinâmicasA maior parte deste texto está preocupado com formas elaboradas de criação de páginas dinâmicas por meio de scripts Perl, scripts PHP, Java Servlets e Java Server Pages. A configuração básica do Apache fornece suporte para programas CGI (com base em scripts Perl e alternativas), e bastante limitado para o servidor 'inclui-side "(SSI) mecanismo. Os módulos relevantes (mod_env, mod_cgi e mod_include) estão incluídos no padrão Apache construir. É melhor limitar o número de diretórios que contêm o código executável que pode gerar páginas dinâmicas. A configuração padrão, conforme especificado no arquivo httpd.conf, as licenças de programas CGI apenas no local / apache / cgi-bin, e não existem diretórios que permitem arquivos SSI. Esses padrões são susceptíveis de ser demasiado restritiva. Se quiser relaxar as restrições de um pouco, você pode adicionar directivas extra Diretório para o arquivo httpd.conf principal. Estas directivas extra diretório deve conter as opções de controle que permitem a execução de scripts CGI em um diretório ou SSI processamento de arquivos de um diretório. Server-side includes são sinalizadas por tags especiais em um arquivo HTML, tags, tais como:
Apache deve ler os arquivos, verifique o código HTML, e encontrar e processar as tags SSI. Isto aumenta significativamente o custo de recuperação normal de um arquivo HTML. É melhor usar uma extensão de arquivo diferente para sinalizar esses arquivos para que a transformação SSI é necessária. A extensão é convencional. Shtml, o servidor tem de ser configurado para manipular tais arquivos de forma adequada. O arquivo de configuração httpd.conf será necessário incluir as directivas: AddType text / html. Shtml AddHandler server-parsed. Shtml A primeira directiva define o tipo de conteúdo que está a ser usado no cabeçalho HTTP quando os textos dos arquivos processados são devolvidos ao cliente. A segunda directiva permite a análise real pelo servidor web. Tags SSI como flastmod ou tamanho são inofensivos, como é a inclusão de outros arquivos HTML através do tag de inclusão. A execução de código, conforme permitido através de uma marca exec ou por incluir uma tag especifica a saída de um script de CGI, pode ser arriscado. O código pode ser qualquer shell script, se o site não está devidamente protegido, existem maneiras que os hackers podem alterar o script que será executado a partir de um arquivo SSI. As opções do Apache que permitem o uso de SSI permitem que você usa para distinguir entre simples e usos que envolvem a execução de código. Se você quiser permitir que arquivos em um diretório para ser SSI-analisado, você precisará de uma directiva do que identifica o diretório e o nível de utilização que lhe permitem:
Como exemplo de inclusões de servidor, você pode criar um contador simples para uso em uma página web (este script é para Linux ou Unix). Isto envolveria um shell script como o seguinte: Val Val = `` cat NewVal contador = `expr $ + 1` echo $ NewVal> contador echo $ NewVal Esse código teria que ser salvo em um arquivo Count.sh; o arquivo teria que ser feito executável e um arquivo para o contador teria que ser criado com uma linha de dados com o valor inicial 0. O contador poderá então ser chamado de código HTML em um arquivo. Shtml como segue: ... (Todos os arquivos que precisam estar no mesmo diretório.) O arquivo httpd.conf contém uma diretiva ScriptAlias que identifica a localização de seu padrão cgi-bin. A diretiva ScriptAlias também organiza que o Apache irá tratar todos os arquivos no diretório especificado como arquivos executáveis, então o Apache irá tentar fork-exec esses arquivos ao invés de simplesmente devolvê-los ao cliente. Se você quiser que os programas CGI em outros diretórios, você terá que usar uma extensão de arquivo que irá identificar os programas CGI: AddHandler cgi-script. Cgi Você pode querer usar. Cgi compilados para C / C + + e programas. Pl para scripts Perl, caso em que você poderia ter: AddHandler cgi-script. Cgi. Pl Você também vai precisar de directivas do que identificar os diretórios que podem conter scripts executáveis, por exemplo:
Apache deverá executar todos os arquivos. Cgi neste diretório (e arquivos. Pl se você especificou ambos). O servidor web tem para lançar um novo processo para um programa CGI (ou uma tag SSI exec). O novo processo é criado através de garfo, em seguida, chama exec em Linux / Unix. O novo processo herda o mesmo user-id e group-id como o processo de criação, conseqüentemente, ele irá normalmente têm user-id "ninguém". Muitas vezes você vai querer esses processos sejam executados com diferentes ids de usuário. Uma abordagem se baseia em um conjunto de utilizadores do sistema de arquivos de identificação. O sistema Apache incorpora um mecanismo mais seguro, através do seu extensões Suexec. O mecanismo SuExec impõe uma série de verificações de segurança antes de mudar o user-id associado a um processo filho CGI. Estes controlos são destinados a impedir que alguém sneakily começar um programa para ser executado com o user-id = "root", e para evitar a execução de qualquer script ou executável que pode ter sido alterado por alguém que não seja proprietário oficial. Você tem que ser administrador de um sistema com acesso root para configurar as extensões Suexec. Se você executar o seu próprio sistema Linux, você pode experimentar isso como um exercício avançado em administração de Apache. ForWindows usuários, a instalação do Apache é trivial. Fazer o download do Apache como um arquivo compactado executável (a partir de http://httpd.apache.org/). Este arquivo pode ser executado, ele irá criar o servidor Apache e os seus arquivos necessários, e adicionar atalhos para o menu Iniciar. Normalmente, o Apache será instalado em C: \ Program Files \ Apache Group \ Apache. Este diretório tem subdiretórios \ bin (execu s e scripts), \ conf (arquivos de configuração), \ logs (arquivos de log), \ cgi-bin do diretório (padrão para os programas CGI) e \ htdocs (o diretório padrão para documentos). O diretório htdocs deve conter vários arquivos de exemplo, mas o diretório cgi-bin provavelmente vai estar vazio. É provável que você tem que fazer uma alteração para a pasta \ conf \ httpd.conf, este arquivo pode ser aberto com qualquer editor de texto. O arquivo provavelmente não tem um valor especificado para o parâmetro ServerName; você pode precisar de definir algo como ServerName localhost (ou talvez ServerName 127.0.0.1). (Se nada for definido, o Apache irá tentar encontrar um servidor DNS que pode dizer que o nome correto do servidor com base no endereço IP da sua máquina e os registros de DNS; essa tentativa irá falhar se você não estiver ligado a um servidor DNS, por isso ganhou o Apache 'começo.) Após httpd.conf edição, sua base Windows Apache deve estar pronto para ser executado. Você pode começar a partir do menu Iniciar e, em seguida, iniciar um browser e usar este navegador para se conectar ao servidor localhost. Usuários de Linux / Unix ter um trabalho um pouco mais para fazer, mas beneficiar ao obter uma melhor compreensão do sistema Apache. Usuários de Linux / Unix terá cerca de 20 megabytes de espaço em disco para um diretório final de implantação do Apache (/ apache / local), e espaço de pouco mais de um diretório onde o Apache é compilado e ligado (/ home/me/apache_1.3.27). Você tar.gzip download de uma versão do servidor (1.3.27 ou superior); descomprimir (gunzip), este arquivo, e extrair os arquivos (tar-xf ...). Este processo deve criar um subdiretório apache_1.3.27 em seu diretório home. Esta é efectivamente a sua cópia master. Muito do material a partir deste diretório será repetido em seu diretório de implantação final. O diretório bin contém o Apache, cgi-bin, conf, htdocs, icons, logs, subdiretórios src e outros. O subdiretório cgi-bin contém alguns programas de pequeno exemplo do uso de scripts shell e Perl. O diretório htdocs contém uma série de exemplos, incluindo um usado para ilustrar a negociação de conteúdo com base nas preferências do cliente de uma língua. Ele também contém a documentação do Apache no subdiretório / manual. um artigo submetido por Jasmin Summersby Isenção de responsabilidade:O nosso site não se responsabiliza pelo conteúdo deste artigo. Webarticles é uma fonte de informação livre. Importante: Este artigo "Geração de páginas dinâmicas" foi traduzida por um software automático. Nós sentimos muito por quaisquer erros de ortografia que pode ter ocorrido. Obrigado pela sua compreensão.
|
|||||
| Online: 375 users browsing the articles directory |
|
|