Protection du serveur Linux : protégez les interfaces Web contre les attaques par traversée de répertoires
Les attaques par traversée de répertoires sont une menace courante pour la sécurité du réseau. Les attaquants tentent d'obtenir un accès non autorisé en accédant aux chemins de fichiers système et aux fichiers sensibles. Dans les applications Web, les attaques par traversée de répertoire sont souvent mises en œuvre en manipulant les chemins d'URL, où l'attaquant saisit des caractères spéciaux de traversée de répertoire (tels que « ../ ») pour accéder à un répertoire en dehors du contexte de l'application.
Afin d'empêcher l'interface Web des attaques par traversée de répertoires, nous pouvons prendre les mesures suivantes pour protéger la sécurité du serveur.
function validateInput(input) { // 过滤掉特殊字符 const pattern = /../g; return !pattern.test(input); } // 例子 const userInput = "../../etc/passwd"; if (validateInput(userInput)) { // 处理用户输入 // ... } else { // 输入无效,可能存在目录遍历攻击 // ... }
import java.nio.file.Path; import java.nio.file.Paths; public class FileProcessor { public void processFile(String filename) { // 使用绝对路径 Path filePath = Paths.get("/var/www/html", filename); // ... } } // 例子 FileProcessor fileProcessor = new FileProcessor(); fileProcessor.processFile("index.html");
Par exemple, pour le serveur Apache, vous pouvez définir les règles d'autorisation suivantes dans le fichier de configuration (telles que "httpd.conf").
<Directory /var/www/html> Options None AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.1 </Directory>
La configuration ci-dessus désactivera tout accès au répertoire /var/www/html à l'exception de l'adresse de bouclage locale (127.0.0.1).
def isFileAllowed(filePath): allowedFiles = ['/var/www/html/index.html', '/var/www/html/style.css'] return filePath in allowedFiles # 例子 userFilePath = "/var/www/html/../../../etc/passwd" if isFileAllowed(userFilePath): # 处理用户请求 # ... else: # 文件不在白名单中 # ...
Voici quelques mesures de base pour vous aider à protéger votre interface Web contre les attaques par traversée de répertoires. Mais rappelez-vous que la cybersécurité est un combat permanent et que nous devons également régulièrement mettre à jour nos logiciels, corriger les vulnérabilités et effectuer régulièrement des audits de sécurité et des tests d'intrusion pour garantir la sécurité de nos systèmes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!