|
| |
Dicas e dúvidas
Como obter seu próprio certificado
Por Andreas Hasenack
(andreas@conectiva.com.br)
Algumas vezes queremos usar
criptografia em algum serviço e, para isso, precisamos de um certificado.
Para ter fé pública, esse certificado
precisa ser assinado por uma CA (Certificate Authority). Mas, para uso
próprio, podemos gerar o nosso próprio certificado, auto-assinado.
Para fazer isto para o apache, por
exemplo, execute:
openssl req -new -x509 -nodes -out
/etc/httpd/conf/ssl.crt/server.crt -keyout
/etc/httpd/conf/ssl.key/server.key
* (os arquivos que tiverem o mesmo nome
serão sobrescritos)
** (adapte os diretórios para a sua
distribuição preferida)
e responda às perguntas. Atenção na
pergunta sobre o CN (Common Name), coloque ali o domínio do site
(www.empresa.com.br, ou sei lá o quê).
Pronto, o certificado estará gravado em
server.crt e a chave privada correspondente (não criptografada, por causa
do -nodes) em server.key.
Migrando do BDE para o DBExpress
Por Adriano Pereira
(apereira@hotmail.com)
O Delphi 5 suporta diferentes padrões
de bases de dados. Por exemplo: DBF, DB (dBASE, Paradox) e Inter-Base,
nativos e outros, através de ODBC/ADO (Access, SQL Server, Oracle, DB2,
Informix, etc..).
O Kylix utiliza o DBExpress para acesso
aos bancos de dados; na versão Desktop, oferece suporte ao MyBase (XML),
MySQL e InterBase, e, na versão Server, inclui o suporte para Oracle e
DB2.
Com essa diferença de padrões, os
usuários do Delphi 5 terão de utilizar os componentes Ttable,
TdataSetProvider e TclientDataSet para migrar as bases de dados para o
Kylix. Com o componente TclientDataSet é possível criar arquivos no padrão
Mybase (XML), sendo este o padrão comum entre o BDE e o DBExpress.
Impedindo logins de usuários no servidor
Se você quiser impedir o acesso do
usuário luser a seu servidor, sem que ele perca o acesso a pop mail,
mude a shell deste usuário para /bin/nologin no arquivo
/etc/passwd, conforme exemplo abaixo:
luser:rtnRkIgCy4l4T:830:10:Luser da
Silva:/home/luser:/bin/nologin
Depois crie um script chamado
/bin/nologin com o seguinte conteúdo:
#! /bin/sh
echo “Sorry, but your account is only
allowed POP access to this host.”
exit 1
Quando o usuário luser tentar
logar no seu shell, o script será rodado, mostrando a mensagem e saindo do
sistema. Repita o procedimento para cada usuário que você queira impedir o
acesso.
Limpando os arquivos “histórico”
Por Júlio César Melo
(tar_xzvf@hotmail.com)
Se você é daqueles que precisam manter
uma lista com centenas de inscritos, mais de cem mensagens chegando
diariamente pelo UUCP, mas não sabe o que fazer para lidar com históricos
enormes, seus problemas acabaram. Instale o chklogs! Está disponível em
piazza.iae.nl/users/grimaldo/chklogs.shtml. É auto-explicativo na
instalação, desde que, obviamente, você verifique o conteú-do do
subdiretório info. Uma vez instalado, adicione uma entrada ao crontab como
esta:
# Executar chklogs as 3:00AM
diariamente.
00 21 * * *
/usr/local/sbin/chklogs -m
Dica anti-spam
Por Rodrigo S. Lopes
(rodrigo@conectiva.com.br)
Para quem usa procmail ou majordomo
este sistema contra spam é bem interessante. Ele utiliza uma base em cvs
onde são incluídos os headers dos spams. A atualização é detectada através
de um e-mail que a própria lista en-via a você. A partir daí, uma regra no
procmail atualiza o cvs local e você já está “imunizado”. Em um dia o
sistema já bloqueou 3 spams que recebi, colocando-os em um folder com o
sugestivo nome de “junk”.
Além disso, todo o spam não detectado
pelo sistema deve ser enviado, com todos os headers para
aardvark@nl.linux.org. Assim o novo spam é rapidamente cadastrado na base.
Desta maneira podemos ter um filtro de spam poderoso, que cresce com a
colaboração da própria comunidade.
Mais detalhes em
http://spamfilter.nl.linux.org
Procmail
Por Sérgio Bruder
(bruder@conectiva.com.br)
Esta é uma dica sobre o uso do procmail
para separar seus e-mails por subdiretório, no formato
AAAA/MM/sua-caixa-postal;
No início do seu .procmailrc,
acrescente:
MAILDIR=$HOME/mail
MONTHFOLDER=‘date +%Y/%m‘ # exemplo:
$MONTH = 2001/07
# — verifica a existência do diretório
relativo à este mês —-
:0 ic
* ? test ! -d $MONTHFOLDER
| mkdir -p $MONTHFOLDER &&
chmod 0700 $MONTHFOLDER
Depois da inclusão desse cabeçalho,
altere as referências aos seus mailboxes acrescentando ${MONTHFOLDER}/ na
frente. Exemplos:
:0:
* ^TO .*wm-dev
${MONTHFOLDER}/wm-dev
:0:
* ^Sender:
pgsql-hackers-owner@postgresql.org
${MONTHFOLDER}/pgsql-hackersBOX:
Dicas de PHP
Por Masaru Hoshi hoshi@hoshi.com.br
Acesso a Banco de Dados
Pra quem trabalha com banco de dados
não há nada pior do que mudança de plataforma. Você precisa reescrever todo
o seu código, adaptando todas as funções e/ou suas bibliotecas de acesso a
dados para essa nova plataforma.
Pra quem conhece esse tipo de problema
e não gosta de ser pego de calças na mão, sugiro utilizar o ADODB, um
conjunto de funções de acesso a dados que suporta PostgreSQL, MySQL e
Oracle, além do Microsoft SQL Server, ODBC e Oracle.
Consultas, inclusões, alterações,
deleções podem ser feitas naturalmente através do ADODB, pois ele suporta a
maioria dos tipos de estruturas de dados.
Mais informações: php.weblogs.com/ADODB
Usando PHP como script
Pouca gente sabe, mas é possível
utilizar o php como um script de terminal. Veja como:
#!/usr/bin/php
<?
for( $i = 0; $i < 10; $i++ )
{
$var = “”;
for( $j = 0; $j < $i; $j++ )
$var .= “#”
echo “$var\n”;
}
?>
Antes de executar este exemplo,
certifique-se de que possui instalado o pacote html-cgi-3* ou php4-4*.
Controlando o acesso
Desenvolvimento de aplicações para web
e até gerenciamento de websites uma hora ou outra acabam precisando ter
áreas de acesso restrito. O próprio Apache tem vários módulos de
autenticação, mas nem sempre pode ser esta a sua solução. É possível fazer
autenticação com o PHP.
Tudo o que você precisa fazer é incluir
este código no início das páginas que quer proteger. Mas lembre-se que não
pode haver nenhum texto antes dessa parte, nem mesmo espaços em branco.
$usuario = “admin”;
$senha = “medeixaentrar”;
if( !isset($PHP_AUTH_USER) )
{
Header(“WWW-Authenticate: Basic
realm=\”Acesso Restrito\””);
Header(“HTTP/1.0 401 Unauthorized”);
echo “Acesso Negado\n”;
exit;
}
elseif( $PHP_AUTH_USER == $usuario &&
$PHP_AUTH_PW == $senha )
echo “Acesso Liberado”;
| | |
|
|
|
|