![]() | Ambiente de produção
PHP Hypertext Preprocessor é a linguagem de programação para aplicações servidor Web mais antiga e estável do mercado. É uma linguagem open source rápida e versátil que oferecemos nos nossos servidores Windows e Linux em ambiente profissional de produção. O desenvolvimento de qualquer aplicação PHP deve sempre ser feito nos computadores do dono do site, longe do público. Só quando esse código atinge a estabilidade é que deve ser finalmente publicado no servidor Web. Como os nossos servidores são de produção, eles não irão exibir avisos (warnings) do PHP pois o PHP consegue recuperar e há código válido em PHP que gera avisos. Tais avisos poderiam sugerir ao visitante que o site não foi desenvolvido profissionalmente. No entanto os erros do PHP são exibidos ao visitante. Isto evita que ele veja uma página vazia ou parcialmente carregada sem mais informação do que está a acontecer. Desta forma o visitante pode telefonar-lhe para o informar do erro em vez de simplesmente se ir embora. Se precisar que os nossos servidores exibam os avisos do PHP para controlo de qualidade final, pode fazer: error_reporting( E_ALL );
Por outro lado, o programador precisa de mais do que avisos PHP escondidos para oferecer aplicações profissionais. Nesse sentido, a nossa configuração PHP inclui os módulos descritos à esquerda. Estes foram escolhidos dada a sua importância em aplicações Web profissionais. Por exemplo, mbstring é essencial a páginas que processem dados (nomes de clientes, etc.) com caracteres não-latinos, bcmath é fundamental para scripts que processem dados financeiros ou monetários (como cestos de compras), CURL, ODBC, XML e Zlib para aceder a dados externos ao servidor, etc.. Esses módulos e o próprio PHP foram configurados para optimização de segurança e máxima funcionalidade. Paradoxalmente o modo de segurança ("safe mode") do PHP está desligado. Isto acontece exactamente porque o modo de segurança elimina funcionalidades importantes da função mail() entre outras. fopen("http://...") e funções semelhantes estão disponíveis para facilitar o acesso a dados externos ao servidor. O PHP está configurado para autodetectar a terminação de linha em ficheiros de texto para que funções como file() funcionem correctamente com ficheiros de texto vindos de Windows, Unix e Apple (Macintosh). Estas e muitas outras configurações especializadas oferecem-lhe um ambiente profissional de alojamento para as suas aplicações PHP. | ![]() | ![]() | Segurança PHP
Segurança é um sempre compromisso entre "portas fechadas" e funcionalidade. Na nossa plataforma, julgamos ter um excelente equilíbrio destas características. Por exemplo, as variáveis GET/POST/Cookie não são automaticamente registadas, ou seja, se chamar um script com: mypage.php?var=1
o script não terá uma variável $var disponível. Em vez disso deve usar $_REQUEST["var"]
para ler o seu valor. Isto impede as variáveis do seu script de serem afectadas externamente. O valor dessas variáveis estará ainda protegido por "aspas mágicas" (magic quotes), uma característica PHP que corre a função addslashes() para todas as variáveis recebidas do exterior. Isto garante que pequenos e curtos scripts terão menos problemas de segurança, enquanto que grandes aplicações PHP desenvolvidas profissionalmente poderão facilmente remover essa protecção correndo a função inversa stripslashes() ou incluindo o nosso script esx.nomagic.php. Para impedir que um script consuma toda a memória de um servidor, estes não podem usar mais de 8Mb e não podem receber mais de 5Mb por upload. Ligações a bases de dados também não são mantidas persistentes pela mesma razão. Para impedir que um script consuma recursos do servidor indefinidamente, o PHP demora no máximo 60s a tratar de dados enviados antes de correr o script, e 30s a correr o script. Se estes tempos forem excedidos, o script será abortado. Finalmente, para garantir a privacidade dos seus scripts e dados, cada script apenas pode abrir os ficheiros correspondentes à sua área no servidor e não ficheiros dos seus "vizinhos" no mesmo servidor. Isto implica que ficheiros recebidos por upload devem ser movidos para a sua área de alojamento com a função move_uploaded_file(). Também consegue abrir a sua base de dados MySQL com um simples mysql_connect() (sem indicação de servidor, utilizador e senha), o que assegura que não expõe senhas de acesso à mesma no código. Embora tenhamos feito todos os esforços para fornecer um ambiente de produção seguro, estamos cientes que existem problemas de segurança conhecidos com algumas das funções PHP. A função dl() por exemplo foi desactivada para impedir ataques internos ao servidor Web. Outras funções úteis não foram desactivadas, mas podem causar problemas. Estes comportamentos indevidos são monitorizados e levam à suspensão do respectivo alojamento. Mais sobre segurança em alojamento  | ![]() |