How can one ensure security when allowing write permissions in PHP directories?

To ensure security when allowing write permissions in PHP directories, one should validate user input, sanitize data, and restrict access to sensitive files. Additionally, it is important to set proper file permissions and use secure coding practices to prevent vulnerabilities such as directory traversal attacks.

$directory = '/path/to/directory/';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $filename = $_POST['filename'];
    $content = $_POST['content'];
    
    // Validate and sanitize input
    if (preg_match('/^[a-zA-Z0-9_\-\.]+$/', $filename)) {
        // Prevent directory traversal
        $filename = realpath($directory . $filename);
        
        // Check if the file is within the allowed directory
        if (strpos($filename, $directory) === 0) {
            // Write content to file
            file_put_contents($filename, $content);
            echo 'File saved successfully.';
        } else {
            echo 'Invalid file path.';
        }
    } else {
        echo 'Invalid filename.';
    }
}