Português do Brasil English
Devin no Facebook  Devin no Twitter  RSS do Site 
Programação    

PHP: Protegendo arquivos de funções


Comentários  0
Visualizações  
14.842

Quando se cria um arquivo de classes ou funções, sabe-se que eles não serão usados sozinhos, e sim chamados por outros scripts através do include() ou do require(). Para certificar-se que o usuário não chamará estes arquivos sozinhos através de uma URL, teste pela variável $PHP_SELF, que se retornar com o nome do arquivo do próprio arquivo de funções ou classes, barra o usuário. Caso ele esteja sendo incluído de outro arquivo, o $PHP_SELF refletirá este outro arquivo.

Leia mais

Programação    

PHP: Traduções usando printf()


Comentários  0
Visualizações  
15.575

Uma boa maneira de produzir uma aplicação que terá várias versões em línguas diferentes é usando a função printf(). Nela a frase inteira será sempre as mesma, e as variáveis serão referenciadas (como por exemplo, %s para uma string). Assim você pode traduzir as frases inteiras sem se preocupar em “quebrar” as frases por causa das variáveis.

Leia mais

Programação    

PHP: Tratamento de Erros


Comentários  2
Visualizações  
20.719

Se o PHP estiver com a opção do php.ini “track_errors” ligada, um erro de script é armazenado na variável $php_errormsg. Pode-se suprir estas mensagens de erro colocando uma arroba (@) antes da função, expressão, etc. Utilizando os dois, pode-se esconder o erro e depois mostrar de uma forma mais amigável.

Leia mais

Servidores    

ProFTPd: Como utilizar um chroot e acessar diretórios disponíevis em vários lugares do sistema?


Comentários  4
Visualizações  
26.901

Para quem conhece o ProFTPd, sabe que pode-se configurar um chroot padrão para “trancar” o usuário dentro de um diretório. Este diertório pode ser o diretório HOME do usuário, ou pode ser um diretório especificado. O problema deste método é que ao ficar dentro de um chroot como por exemplo: /home/usuario, o usuário do FTP não poderá acessar nada além deste diretório e seu conteúdo. Pode ser que o usuário precise acessar outros diretórios, e foi aí que chegou a alternativa para o chroot. O ProFTPd contém uma configuração bem flexível, parecida com a do Apache. Com a diretriz <Directory>, podemos restringir um certo usuário a acessar apenas os diretórios que queremos. Vou usar aqui um exemplo, que pode ser adaptado facilmente. Suponhamos que eu criei o usuário tobias e seu diretório home será /home/tobias. Dentro deste diretório, eu fiz os seguintes links simbólicos: ln -s /var/www/html /home/tobias/apache-html ln -s /var/log/httpd /home/tobias/apache-logs ln -s /etc/httpd/conf /home/tobias/apache-conf Como deu para perceber, tenho vários diretórios que estão localizados em locais totalmente diferentes uns dos outros, e não seria possível “prender” o usuário ao diretório /home/tobias. Criei estes links simbólicos, pois eles vão dar o caminho para que o usuário quando logar, poder […]

Leia mais

Servidores    

ProFTPd: Por que quando dou upload em algum arquivo, a hora não fica igual à hora do sistema do servidor FTP?


Comentários  0
Visualizações  
15.875

Em algumas distribuições do programa ProFTPd, há uma configuração padrão bem chatinha. O padrão diz que o programa armazene os arquivos com o fuso horário universal (GMT) e não o local. E a não ser que você realmente queira que ele faça assim, isso é horrível! Modifique o /etc/proftpd.conf e adicione a diretriz: TimesGMT off Isso fará com que os arquivos tenham as datas locais certinho.

Leia mais

Linux    

XFree86: Não consigo iniciar o servidor X, e ganho o seguinte erro: Fatal server error: could not open default font ‘fixed’.


Comentários  0
Visualizações  
14.730

Este erro significa que o servidor X não conseguiu uma fonte padrão para usar. Isso pode ter ocorrido por dois motivos principais: Você não está com o serviço xfs rodando Você não instalou o pacote das fontes do X O primeiro motivo é o mais comum, e para resolver isso você precisa iniciar o servidor XFS (X Font Server), que atua na porta 7100, servindo as fontes para o servidor X. Para iniciar o serviço, tente: /etc/rc.d/init.d/xfs start Ou o equivalente na sua distribuição. Se você quiser mexer na configuração do xfs, então edite o arquivo: /etc/X11/fs/config Caso não seja isso, você vai precisar instalar os pacotes das fontes, que são por exemplo: XFree86-base-fonts (ou xfonts-base) XFree86-ISO8859-15-75dpi-fonts XFree86-100dpi-fonts XFree86-75dpi-fonts XFree86-ISO8859-15-100dpi-fonts Dependendo claro da sua distribuição, como sempre. No caso as principais fontes são a base e a de 75dpi.

Leia mais

Programas    

VIM: Como associo um novo tipo de extensão com um novo syntax highlight?


Comentários  0
Visualizações  
15.183

Quando o Vim carrega o arquivo, ele verifica em suas configurações que tipo de cores de sintaxe ele vai carregar para cada tipo de extensão. A configuração está localizada no arquivo filetype.vim, encontrado no diretório de arquivos de configuração do vim. Este diretório vai depender muito da sua distribuição, e da versão do próprio vim que você estiver utilizando. Um exemplo seria: /usr/share/vim/vim61/filetype.vim Mas se você não estiver com muito saco para sair procurando pelo arquivo de diretório em diretório, busque pelo arquivo filetype.vim. Olhando inicialmente para ele, parece meio dificil, mas você só vai precisar alterar coisas mínimas. Use o bom senso e veja o exemplo: Antes: ” HTML (.shtml for server side) au BufNewFile,BufRead *.html,*.htm,*.shtml setf html Depois: ” HTML (.shtml for server side) au BufNewFile,BufRead *.html,*.htm,*.shtml,*.tpl setf html Aqui eu adicionei a extensão .tpl (de templates) para que use as cores de sintaxe do HTML. Agora vamos supor que você queira associar a extensão .sex ao arquivo de sintaxe ecchi.vim: au BufNewFile,BufRead *.sex setf ecchi O arquivo ecchi.vim terá todas as especificações de cores, e terá que fica no subdiretório syntax/, dentro do diretório do vim que citei um pouco acima. E por último, caso você queira […]

Leia mais

Servidores    

Tomcat: Como desabilitar a listagem de diretórios quando não há um index?


Comentários  0
Visualizações  
14.929

No diretório de configuração do Tomcat, edite o arquivo ‘web.xml’. Você pode desabilitar essa característica padrão do Tomcat no servlet ‘default’, que já vem pré-configurado. Geralmente as tags do servlet default se encontram no começo do arquivo. Veja o exemplo: <servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> … </servlet> Um dos parâmetros deste servlet é o listings, e é ele que você deve desabilitar. Por padrão, fica como ‘true’, então colocaremos ‘false’: <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> Depois é só salvar o arquivo, reiniciar o Tomcat e ir pro abraço!

Leia mais