Kênh MS Teams không thể chứa tên thiết bị MS-DOS
(learn.microsoft.com)- Microsoft Teams có giới hạn vận hành rất chặt chẽ trên toàn bộ team, kênh, chat, họp và chia sẻ tệp; tên kênh không được dùng các tên thiết bị MS-DOS như
CON,PRN,AUX,NUL,COM1~COM9,LPT1~LPT9 - Mỗi team có giới hạn 25.000 thành viên, mỗi người dùng có thể tham gia 1.000 team, và mỗi team có tối đa 1.000 kênh; các kênh đã xóa vẫn tiếp tục được tính vào giới hạn trong thời gian khôi phục 30 ngày
- Chat có các mức cơ bản là 250 người cho chat riêng tư, 20 người cho cuộc gọi thoại/video dựa trên chat, 10 tệp đính kèm và 100MB mỗi tệp; khi vượt quá 20 người thì các tính năng như gọi, chỉ báo đang nhập và xác nhận đã đọc sẽ bị tắt
- Tùy theo gói, cuộc họp có thể tổ chức tối đa 300 hoặc 1.000 người, và Teams meeting, webinar, town hall đều có giới hạn 30 giờ; breakout room chỉ có thể tạo trong cuộc họp dưới 300 người
- Chia sẻ tệp phụ thuộc vào SharePoint và OneDrive for Business, nên tenant bị tắt SharePoint sẽ có hạn chế; tệp trong Teams có thể đạt 25TB mỗi site hoặc nhóm, và tải lên tối đa 250GB mỗi tệp
Giới hạn team và kênh
- Số team mà người dùng có thể tạo tuân theo giới hạn 250 đối tượng của Microsoft Entra ID; quản trị viên toàn cục không bị áp dụng giới hạn này
- Số team mà người dùng có thể tham gia với tư cách thành viên là tối đa 1.000, bao gồm cả các team đã lưu trữ
- Các giới hạn chính ở cấp team như sau
- Thành viên: 25.000 người
- Chủ sở hữu: 100 người
- Team toàn tổ chức: 5 team mỗi tenant
- Thành viên trong team toàn tổ chức: 10.000 người
- Số team trong tổ chức Microsoft 365 hoặc Office 365: 500.000
- Số team mà quản trị viên toàn cục có thể tạo: 500.000
- Mỗi team có tối đa 1.000 kênh, bao gồm tổ hợp kênh tiêu chuẩn và kênh dùng chung, cùng tối đa 30 kênh riêng tư
- Các kênh đã xóa có thể được khôi phục trong 30 ngày, và trong thời gian này vẫn tiếp tục được tính vào giới hạn số kênh và giới hạn kênh riêng tư của team
- Bài đăng hội thoại trong kênh có giới hạn khoảng 100KB mỗi bài, bao gồm nội dung, liên kết hình ảnh, @mention, số connector và reaction
- Hình ảnh mã hóa base64 không được tính vào giới hạn 100KB
Hạn chế của kênh dùng chung
- Mỗi team có thể có tối đa 1.000 kênh dùng chung, và các kênh đã xóa vẫn được tính trong thời gian khôi phục 30 ngày
- Một kênh dùng chung có thể được chia sẻ với tối đa 50 team ngoài team cha
- Thành viên của kênh dùng chung có thể có tối đa 5.000 thành viên trực tiếp; các team được chia sẻ được tính là 1 người mỗi team khi tính giới hạn
- Cập nhật thời gian thực chỉ được cung cấp cho tối đa 25.000 người tại một thời điểm
- Danh sách kênh chỉ hiển thị 25.000 người
- Người tham gia bên ngoài chỉ hỗ trợ tài khoản cơ quan hoặc trường học của Microsoft Entra
- Kênh dùng chung hỗ trợ tab, nhưng không bao gồm Stream, Planner và Forms
- Bot, connector và message extension không được hỗ trợ trong kênh dùng chung
- Không thể thêm team toàn tổ chức làm thành viên của kênh dùng chung
- Khi tạo team mới từ team hiện có, các kênh dùng chung của team cũ sẽ không được sao chép
- Thông báo của kênh dùng chung không được đưa vào email hoạt động bị bỏ lỡ
- Kênh dùng chung không được hỗ trợ trong class team
Quy tắc cấm trong tên kênh
- Tên kênh không được dùng các ký tự sau
~ # % & * { } + / \\ : < > ? | ' " , ..
- Cũng không được dùng các dải ký tự sau
0~1F80~9F
- Các từ sau không được dùng trong tên kênh
formsCON,CONIN$,CONOUT$PRN,AUX,NULCOM1~COM9LPT1~LPT9desktop.ini_vti_
- Tên kênh không được bắt đầu bằng dấu gạch dưới
_hoặc dấu chấm., và không được kết thúc bằng dấu chấm.
Nhắn tin và chat
- Các cuộc trò chuyện xuất hiện trong danh sách chat của Teams được lưu trong hộp thư Exchange Online của người tham gia
- Để quản trị viên có thể tìm kiếm hoặc lưu giữ hội thoại chat, người tham gia cần có hộp thư Exchange Online trên đám mây
- Trong triển khai Exchange hybrid, người dùng hộp thư on-premises vẫn có thể tham gia chat trên Teams
- Tuy nhiên trong trường hợp này, nội dung hội thoại đó không thể được tìm kiếm hoặc lưu giữ
- Các giới hạn chính của chat riêng tư như sau
- Số người: 250
- Số thành viên có thể thêm vào group chat trong một lần: 200
- Cuộc gọi thoại/video bắt đầu từ chat: 20 người
- Tệp đính kèm: 10
- Kích thước tệp: 100MB
- Kích thước bài đăng chat: khoảng 100KB
- Khi số người trong chat vượt quá 20, các tính năng sau sẽ bị tắt
- Trả lời tự động của Outlook và thông điệp trạng thái Teams
- Chỉ báo đang nhập
- Gọi thoại/video
- Chia sẻ
- Xác nhận đã đọc
- Nút
Set Delivery Options
- Để tăng tỷ lệ gửi tin nhắn thành công, nên giữ kích thước bản thân tin nhắn trong 80KB trở xuống
- Tenant dùng gói dùng thử có thể chịu các giới hạn nhắn tin nghiêm ngặt hơn để ngăn lạm dụng, và các giới hạn này có thể được điều chỉnh mà không báo trước
- Quản trị viên chỉ cho phép trusted domain trong external access có thể thêm tối đa 4.000 trusted domain
Email kênh
- Email gửi đến địa chỉ email của kênh sẽ trở thành một phần của kênh, và bất kỳ ai cũng có thể trả lời để bắt đầu cuộc trò chuyện
- Các giới hạn khi gửi email đến kênh như sau
- Kích thước thư: 24KB
- Tệp đính kèm: 20
- Kích thước mỗi tệp đính kèm: dưới 10MB
- Hình ảnh inline: 50
- Khi vượt quá giới hạn, hành vi sẽ khác đi
- Nếu thư vượt quá 24KB, một tin nhắn xem trước sẽ được tạo, và người dùng phải tải email gốc từ liên kết được cung cấp để xem
- Nếu số tệp đính kèm hoặc hình ảnh vượt quá giới hạn, sẽ hiển thị thông báo lỗi
- Email kênh có áp dụng giới hạn tốc độ
- 6 email mỗi 10 giây cho mỗi người dùng trên mỗi kênh
- 8 email mỗi 10 giây cho mỗi người dùng trên mỗi tenant
- Email kênh không dùng được trong Teams cho các tổ chức Office GCC/GCCH/DOD
Họp và gọi
- Các gói Microsoft 365 Business Basic, Business Standard, Business Premium, Microsoft Teams Essentials, Microsoft 365 A1 có thể tổ chức họp trực tuyến và gọi video trên Teams cho tối đa 300 người
- Trong các gói Microsoft 365 F1/F3/E3/E5/A3/A5/G3/G5, Office 365 E1/E3/E5/A3/A5/G1/G3/G5, Microsoft Teams EEA, giới hạn được nâng lên tối đa 1.000 người
- Các giới hạn chính liên quan đến họp như sau
- Cuộc gọi thoại/video bắt đầu từ chat: 20 người
- Kích thước tối đa của tệp PowerPoint: 2GB
- Thời gian có thể tải xuống cục bộ bản ghi họp chưa tải lên Microsoft Stream: 20 ngày
- Độ dài tối đa của bản ghi họp: 4 giờ hoặc 1,5GB
- Khi bản ghi đạt độ dài hoặc dung lượng tối đa, bản ghi sẽ kết thúc và tự động bắt đầu lại
- Breakout room chỉ có thể tạo trong cuộc họp có dưới 300 người tham dự
- Khi tạo breakout room, số người tham dự cuộc họp sẽ tự động bị giới hạn ở 300
- Teams meeting, webinar và town hall có giới hạn thời gian 30 giờ
Hết hạn cuộc họp
- Việc hết hạn cuộc họp áp dụng cho số quay PSTN, tọa độ CVI, cũng như chính sách và cài đặt họp mặc định
- Nếu tham gia họp hoặc cập nhật họp trước khi hết hạn, thời hạn hết hạn sẽ được cộng thêm 60 ngày, ngoại trừ các cuộc họp Meet now
- Theo public preview, các liên kết và cuộc họp mới sẽ hết hạn theo điều kiện sau, và sau khi hết hạn sẽ không thể tham gia bằng liên kết
- Cuộc họp một lần đã lên lịch: 60 ngày sau thời gian họp đã lên lịch
- Meet now được lên lịch từ lịch hoặc kênh: 60 ngày sau khi tạo liên kết
- Meet now được lên lịch trong group chat: không áp dụng
- Cuộc họp định kỳ có ngày kết thúc: thời gian dài hơn giữa 60 ngày từ ngày kết thúc hoặc 60 ngày từ lần diễn ra cuối cùng
- Cuộc họp định kỳ không có ngày kết thúc: 1 năm sau lần truy cập, tham gia hoặc cập nhật họp gần nhất
Sự kiện trực tiếp
- Teams live event dự kiến sẽ kết thúc vào tháng 7 năm 2026
- Các sự kiện đã được lên lịch vẫn được hỗ trợ đến ngày 28 tháng 2 năm 2027
- Microsoft khuyến nghị dùng Teams town hall cho các sự kiện số và hybrid quy mô lớn
- Các giới hạn mặc định của live event như sau
- Người tham dự: tối đa 10.000
- Thời lượng sự kiện: 4 giờ
- Số live event có thể chạy đồng thời trong tổ chức Microsoft 365 hoặc Office 365: 15
- Kể từ thời điểm producer tham gia live event, sự kiện đó được xem là đang chạy
- Producer cố tham gia live event thứ 16 sẽ nhận lỗi
- Mức tăng giới hạn tạm thời được gia hạn cho đến khi có thông báo thêm
- Tối đa 20.000 người tham dự
- 50 sự kiện đồng thời trên toàn tenant
- 16 giờ cho mỗi buổi phát sóng
- Có thể lập kế hoạch live event với tối đa 100.000 người tham dự thông qua Microsoft 365 assistance program; đội ngũ sẽ đánh giá từng yêu cầu để quyết định phương án khả thi
Lưu trữ và chia sẻ tệp
- Mỗi team trong Teams có một site nhóm SharePoint, và mỗi kênh sẽ tạo một thư mục trong thư viện tài liệu của site nhóm mặc định
- Các tệp được chia sẻ trong hội thoại sẽ tự động được thêm vào thư viện tài liệu, và quyền cũng như tùy chọn bảo mật tệp được cấu hình trong SharePoint sẽ được phản ánh trong Teams
- Mỗi kênh riêng tư có một site SharePoint riêng
- Nếu SharePoint không được bật trong tenant, người dùng Teams không phải lúc nào cũng có thể chia sẻ tệp trong team
- Để chia sẻ tệp trong chat riêng tư, cần có OneDrive for Business gắn với giấy phép SharePoint
- Chia sẻ tệp trong Teams hoạt động trên backend của SharePoint, vì vậy mục Files của Teams chịu các giới hạn của SharePoint
- Các giới hạn lưu trữ của các gói được nêu như sau
- 1TB cho mỗi tổ chức + 10GB cho mỗi giấy phép đã mua
- Office 365 Enterprise F1: 1TB cho mỗi tổ chức
- Teams Files: tối đa 25TB cho mỗi site hoặc nhóm
- Giới hạn tải tệp lên là 250GB cho mỗi tệp
- Vì kênh được hậu thuẫn bởi thư mục trong site SharePoint của team, tab tệp của kênh dùng chung giới hạn lưu trữ với team sở hữu
Class team cho giáo dục và tag
- Microsoft Teams for Education cung cấp các mẫu cho các kịch bản giáo dục như lớp học
- Việc sử dụng class team yêu cầu giấy phép Office 365 Education
- Class team tuân theo giới hạn thành viên của team thông thường, nhưng một số ứng dụng có giới hạn riêng
- Dùng ứng dụng Assignments: 1.000 thành viên
- Dùng ứng dụng OneNote Class Notebook: 300 thành viên
- Class team có thể hỗ trợ nhiều thành viên hơn, nhưng nếu dự định dùng Assignments hoặc Class Notebook thì nên giữ dưới các giới hạn trên
- Các giới hạn của tag như sau
- Tag mỗi team: 200
- Tag mặc định được gợi ý mỗi team: 25
- Thành viên team có thể được gán vào một tag: 200
- Tag được gán cho mỗi người dùng trong team: 25
Danh bạ và hỗ trợ trình duyệt
- Teams sử dụng danh bạ Active Directory của tổ chức và các liên hệ được thêm vào thư mục mặc định của Outlook của người dùng
- Người dùng Teams có thể liên lạc với bất kỳ ai trong Active Directory của tổ chức, và có thể thêm họ vào danh sách liên hệ tại
Chat>ContactshoặcCalls>Contacts - Những người không có trong Active Directory của tổ chức cũng có thể được thêm làm liên hệ tại
Calls>Contacts - Teams presence trong Outlook được hỗ trợ từ ứng dụng desktop Outlook 2013 trở lên
- Hỗ trợ trình duyệt khác nhau theo từng tính năng
- Internet Explorer 11 không hỗ trợ gọi, và chỉ hỗ trợ hạn chế cho các cuộc họp có tọa độ PSTN
- Microsoft Edge Chromium và Google Chrome bản mới nhất hỗ trợ đầy đủ gọi và họp
- Firefox không hỗ trợ gọi nhưng hỗ trợ họp; để hỗ trợ đầy đủ cần plugin OpenH264
- Tùy phiên bản Safari mà phạm vi hỗ trợ gọi 1:1, video và chia sẻ sẽ khác nhau
- Teams meeting trên trình duyệt bị giới hạn ở một luồng duy nhất, chỉ hiển thị một trong hai: video nhận của người đang phát biểu hiện tại hoặc màn hình được chia sẻ
- Để trao và nhận quyền điều khiển khi chia sẻ, cả hai bên đều phải dùng Teams desktop client; trình duyệt không hỗ trợ
2 bình luận
Có vẻ họ làm vậy vì khả năng tương thích ngược với Windows.
Nhưng tôi tự hỏi liệu các lập trình viên ngày nay có còn biết những thứ như COM, LPT, PRN không nhỉ, haha.
Thỉnh thoảng tôi cũng thấy những câu hỏi kiểu như “Tại sao ổ cứng lại bắt đầu từ C?”...
Ý kiến trên Hacker News
Khoảng năm 1998, khi còn là một thiếu niên cuồng Linux, tôi mang một máy Linux box đến các buổi LAN party, và thực ra nó chạy khá ổn
Hồi đó WINE gần như tồn tại để hỗ trợ Starcraft, Quake 2 thì chạy native, và chỉ hai thứ đó đã bao phủ được 95% các game mọi người chơi
Có lần tôi nghĩ sẽ vui nếu chạy một shell script đi qua tất cả các Windows share trên mạng và thử mở
CON/CON, thế là từng máy lập tức hiện màn hình xanh, còn bạn bè tôi thì kỳ lạ là chẳng thấy vui chút nàoNếu người đó giỏi xử lý sự cố mạng và luôn mang sẵn cáp CAT-5 dự phòng như anh bạn BSD của tôi thì chắc cũng đủ chuộc lỗi
Đến thời tôi dùng Linux đủ để chạy Starcraft bằng Wine thì hình như nó đã hỗ trợ IP rồi
Tôi có rất nhiều kỷ niệm đẹp khi chơi Starcraft với bạn bè trước đây, và game đó có sức sống đủ dài để tôi từng mê nó hồi cấp hai rồi lại mê lại hồi đại học
Kỷ niệm xưa đẹp thật
Có khả năng là vì trong hệ thống tệp Windows không thể dùng các tên như vậy cho file hay thư mục
Kênh MS Teams tạo một thư mục tương ứng trong SharePoint, nơi lưu các tệp đính kèm
Vấn đề phát sinh khi một trader đặt tên sổ là LPT1
%và..vào blacklistĐây là một cách rất dễ để cho phép người dùng quản lý quyền truy cập tài nguyên mà không cần mở ticket hỗ trợ, nên dùng như vậy cũng khá ổn
Ban đầu tôi định nói: “Chẳng phải điều này về cơ bản đang làm lộ rằng bên trong có thứ gì đó kinh khủng sao? Nên thấy xấu hổ khi nói công khai như vậy. Nó giống như nói không thể dùng
%shay$PS1; tại sao lại không được? Rốt cuộc các anh đang làm gì với input của người dùng?”Nhưng đây cũng có thể là vấn đề về cách tên kênh được xử lý ở những nơi khác. Người ta có thể copy-paste nó khắp nơi, và có vẻ không thể kỳ vọng người dùng Windows sẽ tự escape chuỗi của mình khi dán vào
cmd, PowerShell hay WSLBản thân code Teams có lẽ xử lý được tốt, nhưng vấn đề có thể nằm ở đủ loại công cụ bên ngoài không rõ nguồn gốc và cẩu thả có thể xử lý tên kênh
Những người khác đã chỉ ra thư mục SharePoint gắn với kênh; việc escape, biến đổi hoặc encode để tạo một phiên bản an toàn cho thư mục là chuyện dễ, nên cá nhân tôi khó mà cho qua. Tuy vậy, ở đâu đó có thể việc tên kênh và tên thư mục phải giống hệt nhau là điều quan trọng
Nếu chỉ dùng nội bộ trong ứng dụng thì có thể encode/decode tên kênh và tên thư mục theo cùng một cách rồi che giấu hoàn toàn với người dùng, nhưng nếu thư mục cũng được dùng bên ngoài ứng dụng thì những dạng như URL encoding sẽ hiện nguyên ra và trông xấu
Rốt cuộc tên thư mục phải an toàn với mọi thứ khác, nên tên kênh cũng phải như vậy. Họ đã chọn hạn chế này thay vì thỉnh thoảng có những tên thư mục xấu xí; cuối cùng nó gần với vấn đề hình thức hơn là vấn đề an toàn hay hỏng hóc. Vì các ký tự lẽ ra cần encode bị cấm hẳn, mọi thư mục luôn trông tự nhiên và đẹp mắt
Chuyện này xảy ra khi chuyển đổi giữa các dịch vụ tên. Dịch vụ tên thường có phạm vi áp dụng, và một cái tên trong ngữ cảnh này có thể được diễn giải khác trong ngữ cảnh khác
Bobby Tables thì ai cũng biết, nhưng còn tên file đặc biệt
-rfthì sao? Có thời đường dẫn chuẩn của Active Directory gần như mặc nhiên tin tưởng tên miền DNS ở những nơi như file share. Trông có vẻ ổn cho đến khi bạn nhận ra trên “ổ đĩa” đó có thể có file thực thiThành thật mà nói tôi không tìm thấy chuỗi
MS-DOStrong tài liệu đó. Sửa: đã tìm thấy các tham chiếu nhưCON,LPT1Ngay cả nội dung SQS message cũng bị giới hạn về việc có thể dùng những ký tự khoảng trắng nào
Tại sao phần lớn ứng dụng chat/họp rốt cuộc lại trở nên tệ hại đến vậy? Tôi vẫn nhớ thời Teams từng là một ứng dụng ổn. Thậm chí còn có cả client desktop cho Linux
Tôi cũng nhớ lúc Slack thực sự nhanh, và Skype out còn ổn định hơn cuộc gọi di động của tôi
Giờ Slack chỉ cần thêm vài tổ chức là chậm kinh khủng. Dù sao thì vẫn có thể thêm nhiều hơn một tổ chức
Teams đã bỏ client desktop cho Linux, muốn dùng trên Linux thì phải đi qua Chrome. Nhưng khi dùng như một phần của Office365/SharePoint, “một số” liên kết SharePoint lại cần Firefox
Kết cục là lúc nào cũng cần 2 trình duyệt. Chrome cho chia sẻ màn hình và video của Teams, Firefox cho một số liên kết SharePoint
Rốt cuộc ứng dụng chat/họp là một phiên bản thu nhỏ của Internet
Ứng dụng chat thì tuyệt, nhưng nếu có thể gửi và chia sẻ cả clip âm thanh thì sao, rồi clip video, video thời gian thực, tiền, cuộc họp, lời mời lịch, yêu cầu giao đồ ăn, phiên chơi game, X thì sao
X không có giới hạn. Internet là để chia sẻ X, ứng dụng chat cũng là để chia sẻ X, nên thực sự không có ranh giới cho việc nó sẽ phình to đến mức nào
Chat và video thì có rồi, vậy thêm làm mờ nền thì sao? Chết tiệt, Zoom có khảo sát nên mình cũng phải có khảo sát. Nếu cứ nhồi tính năng và lặp nhanh như vậy thì dùng Electron cũng được, đại loại thế
Sau đó họ phải tìm việc gì đó cho những người ấy làm
Cái này hay quá. Tôi thích việc thứ mới này gợi nhớ đến thời kỳ đầu của MS-DOS, chạy trên 086 hay 286 vào rất đầu thập niên 90
Phải tôn trọng nỗi ám ảnh về tương thích ngược của Microsoft. Cứ như một tưởng tượng bất khả thi rằng bản port native của MS Teams sẽ được làm cho MS-DOS 3.1. Thực tế hơn một chút thì có thể tưởng tượng máy chủ MS Teams đang chạy trên một mainframe MS-DOS 3.1 độc quyền cổ lỗ, kỳ quái nào đó, nhưng tất nhiên cũng vô lý
Tôi biết giới hạn tên thiết bị này cũng áp dụng cho tên tệp Windows, nên nếu là người ít thích tìm niềm vui thì cũng không quá ngạc nhiên. Nhưng nếu thích vui thì có thể tưởng tượng như trên
Liên kết liên quan: https://learn.microsoft.com/en-us/microsoftteams/limits-spec...
MS-DOS đã chạy trên 8086 từ đầu thập niên 80 rồi
Windows 10 hay 11 cũng không còn lớp DOS nữa, và có vẻ đúng hơn là Microsoft không có ý định sửa những vấn đề kiểu này
Chỉ mong nó đừng bao gồm cả việc giới hạn mật khẩu ở độ dài ngắn vô lý hoặc một tập ký tự bị hạn chế quá mức
Tôi nhớ có tin đồn rằng lý do sau “Windows 7”, “8” lại bỏ qua “9” và thành “10” là vì họ sợ đâu đó trong codebase có đoạn mã kiểu này
if(version.StartsWith(“Windows 9”)) { /* 95 and 98 */ ... }Tôi không có kinh nghiệm với Windows nhưng nghe hơi lạ. Một mặt, đó cũng là việc Microsoft có thể làm vì tương thích ngược; mặt khác, nó trông như một API kỳ quặc để cung cấp
Tôi tìm thấy GetVersion[1], cái này trả về phiên bản bằng hai con số
[1] https://learn.microsoft.com/en-us/windows/win32/api/sysinfoa...
Từ bị cấm:
forms,CON,CONIN$,CONOUT$,PRN,AUX,NUL, từCOM1đếnCOM9, từLPT1đếnLPT9,desktop.ini,_vti_%shay$PS1, nhưng tại sao lại không? Các anh đang làm cái quái gì với input của người dùng vậy?”Nhưng cũng có thể đây là vấn đề về việc tên kênh sẽ được xử lý ở nơi khác như thế nào. Người ta có thể copy-paste vào bất cứ đâu, và có vẻ họ không kỳ vọng người dùng Windows sẽ tự escape chuỗi của mình khi dán vào
cmd, PowerShell, WSLVà chúng cũng sẵn sàng ghi vào những tên như
LPT1, nên tất nhiên dữ liệu đó đi thẳng ra máy in của người nhậnMẹo chung khi cấu trúc dữ liệu người dùng là, nếu có thể, hãy coi nó như một khối opaque
Cứ tưởng tượng rằng nó đã được mã hóa nên không thể xuất ra, cũng không thể đọc được bằng mắt người
forms,CON,CONIN$,CONOUT$,PRN,AUX,NUL, từCOM1đếnCOM9, từLPT1đếnLPT9,desktop.ini,_vti_Nếu phải hạn chế những thứ như thế vì đầu vào của người dùng được đưa thẳng vào hệ thống tệp thì coi như hỏng rồi. Thay vì dùng trực tiếp đầu vào của người dùng, lẽ ra phải gán một ID an toàn. Có thể là
uuid4, hoặc cũng có thể là digest của tên kênhKhi ai đó nói “không thể dùng ký tự này”, tôi thấy có mùi không ổn. Tự động nghĩ ngay: “Tại sao lại không được? Chẳng lẽ họ đang dùng nó ở dạng plain text chưa encode sao?” Những nội dung sẽ hiển thị trên trang web như mật khẩu, tên người dùng, bình luận là ví dụ như vậy
Tuy nhiên, tất cả chuyện này cũng có thể chỉ là một Easter egg bị làm sai. Có lẽ họ chỉ muốn thêm chút vui vẻ nhưng rồi mọi thứ bị rối lên
Đúng là tệ, nhưng nói thật thì mục tiêu là gì? Là để mọi người đặt bất kỳ tên nào họ muốn, kể cả tên kênh sao? Ví dụ như tên
"rm -rf /*"chẳng hạnCòn có cái hay hơn nữa. Viết lệnh
rm -rfđó bằng ký tự ghi đè hướng trái-phải RLO để nó trông nhưfr- mrThật sự nên lấy đó làm mục tiêu sao? Tin rằng sẽ không có vấn đề gì xảy ra à?
May là trên Linux không thể tạo tệp có tên https://example.org. Windows cũng vậy, không phải sao?
Hỏi nghiêm túc thì, đây có thật sự là vấn đề không? Nếu là vấn đề thì nên kẻ ranh giới ở đâu?
Codepoint 0 thì sao? Ký tự đệm Hangul và ký tự RLO thì sao? Có xem những ứng dụng từ chối các thứ như vậy là tệ không?
May là có những giới hạn đối với những gì có thể xuất hiện trong tên tệp. Và tôi nghĩ các giới hạn hiện tại thậm chí còn chưa đủ chặt. Tên người dùng, kênh, và rất nhiều thứ khác cũng vậy
Ví dụ, có ai thật sự xem việc Twitter chỉ cho phép chữ-số ASCII nhìn thấy được và dấu gạch dưới, giới hạn tối đa 15 ký tự, là một vấn đề không?
Tôi thấy đây là cách rất thông minh. Tốt hơn nhiều so với việc khao khát được dùng emoji cục phân trong tên người dùng và tên kênh
Vì các dấu gạch chéo lặp lại bên trong bị bỏ qua, và có thể tạo một thư mục tên
https:cùng một tệp tênexample.orgrfNếu tiêu đề kênh được dùng làm thư mục SharePoint, thật ngạc nhiên là không có một cơ chế escape chuẩn cho riêng các chuỗi như thế này
Nó sẽ phá vỡ khả năng tương thích với các ứng dụng phụ thuộc vào những device file ma thuật kiểu này, nhưng SharePoint tuyệt đối không bao giờ nên muốn giao tiếp thật với
COM1Thật lạ là SharePoint vốn chưa xử lý chuyện này