Perdonami in anticipo se non rispondo alla domanda che hai fatto, però leggo testualmente
quando un utente invece clicca direttamente sul file dati.txt non gli deve venir mostrato il contenuto del file
Se a te basta impedire l'accesso via browser al file di testo qualora qualcuno ne conoscesse l'esatto percorso, ti hanno già risposto "col solito deny"... Io solitamente uso l'htaccess seguente:
Codice PHP:
<files ~ "\.txt$">
Order allow,deny
Deny from all
</files>
sulle directories che contengono i files txt che non vuoi siano accessibili...