Lorsque j'installe le "Smarty", php, vous devez verrouiller les templates de dossiers et les templates_r pour l'access public?

En utilisant le .htaccess pour nier par exemple. Parce que sinon, une partie du "code php" serait exposée aux users qui entrent les files par URL.

Oui, vous devez bloquer tous les files qui NE DOIVENT pas être accessibles au public, y compris les templates compilés Smarty. Même si quelque chose semble que ce n'est pas grave, vous ne le savez pas, et il n'y a aucune raison de ne pas le bloquer.

Vous pouvez soit avoir ces files en dehors de votre racine de document – facile à utiliser avec Smarty, il suffit de pointer son count de compilation ailleurs – ou vous pouvez utiliser htaccess (ou l'équivalent pour votre server) pour bloquer ce dossier ou un dossier parent contenant ce dossier.

Dans mon propre code, pour garder les choses portables et pour simplifier le deployment, je garde tout dans la racine du document. Cependant, tout mon code, y compris les templates compilés Smarty, est contenu dans un sous-dossier unique que j'ai configuré nginx pour bloquer l'access public, ce qui me donne une security globale.