В Windows вы не можете поместить ? в имя файла или каталога, потому что они зарезервированы для функций PHP GET и подстановочных знаков. Но в Ubuntu я могу. Я могу назвать файл lol?.txt и получить доступ к нему как к любому другому файлу. Почему вы можете сделать это безопасно в Ubuntu, когда вы не можете в Windows?