Đường dẫn trong thực tếlà đường đi từnơi này đến nơi khác. Còn trên máy tính đó chính là đường dẫn đểta truy cấp đến những file, thư mục được lưu trên máy tính.
| Absolute Path | Relative Path |
|---|---|
| /etc/ssh | .ssh |
Đường dẫn trên máy tính cũng được chia làm 2 loại:
Trong hệ điều hành Linux quy ước:
Đường dẫn (Path) là một chuỗi ký tự xác định vị trí của tài nguyên trong hệ thống phân cấp, có thể là:
ĐƯỜNG DẪN (PATH) ├── Local Path (Đường dẫn cục bộ) │ ├── Absolute Path (Tuyệt đối): /var/www/html/index.php │ ├── Relative Path (Tương đối): ../config/database.php │ └── Canonical Path (Chuẩn hóa) │ ├── URL Path (Đường dẫn mạng) │ ├── Protocol: http, https, ftp, file:// │ ├── Domain/IP │ ├── Port │ ├── Path: /users/profile?id=123 │ ├── Query Parameters: ?search=keyword │ └── Fragment: #section-1 │ └── Virtual Path (Đường dẫn ảo) ├── Aliases ├── Symbolic Links └── Virtual Directories
Ví dụ cách sử dụng đường dẫn trong trang web và lỗ hổng tiền ẩn
<?php
$file_name = $_GET['file_name'];
$file_path = '/var/www/html/images/' . $file_name;
//$file_path = 'images/' . $file_name;
if (file_exists($file_path)) {
header('Content-Type: image/png');
readfile($file_path);
}
else { // Image file not found
echo " 404 Not Found";
}