Usando lynx ou wget no cron para chamar um script php?

2

Estou examinando uma configuração específica e eles têm seu crontab da seguinte forma:

 0 * * * * lynx http://www.example.com/cron/scriptA.php

Naturalmente, isso depende do preceito "segurança por obscuridade", porque qualquer pessoa na Internet, sabendo onde esses arquivos estão localizados, pode chamá-los e sobrecarregar o servidor.

Além disso, há algo inerentemente errado com o "modelo" acima de executar esse script.

Quando eu testei o link do lynx no prompt de comando como root, ele me fez baixar um cookie de sessão, então eu estou pensando que deveria pelo menos modificar o acima para:

lynx -accept_all_cookies http://www.example.com/cron/scriptA.php

Ou devo usar:

wget -q -O /dev/nul http://www.example.com/cron/scriptA.php
    
por siliconpi 29.10.2010 / 09:26

1 resposta

2

Se você quiser proteger esses arquivos, poderá configurar seu servidor da Web para permitir conexões com esses scripts específicos somente a partir do host local. Você não mencionou o servidor da Web que você usa, mas, por exemplo, no Apache isso pode ser feito com a combinação dos parâmetros Diretório e Permitir / Negar , algo como

<Directory /cron>
    Order deny,allow
    Deny from all
    Allow from localhost
</Directory>

Para segurança adicional, você pode modificar seus scripts cron para verificar o endereço do cliente. Se for diferente de localhost, recuse-se a fazer a mágica do cron e retorne outra coisa.

Quando se trata de ferramentas, o lynx e o wget estão bem. Quando eu uso o lynx no cron, eu costumo usá-lo com o sinalizador -dump .

    
por 29.10.2010 / 10:16

Tags