Xem xét các trình duyệt web, hệ điều hành, iphone, mâm xôi, v.v.có an toàn khi sử dụng các ký tự unicode không phải ASCII như ♺ trong các trang web không?
Trả lời
Trong khi "an toàn" - một trong hai bằng cách thiết lập một cách chính xác mã hóa khi cung cấp trang hoặc bằng cách thoát khỏi sử dụng &#xxx;
- không phải tất cả người dùng sẽ phải phông chữ có thể hiển thị các ký tự này. Đặc biệt là các ký tự "dingbat" (các ký tự văn bản phương Tây có dấu thường được hỗ trợ ở bất kỳ đâu).
Vì vậy, miễn là bạn đồng ý với một số (tương đối nhỏ) phần trăm người dùng của bạn nhìn thấy một hộp chứ không phải là hình tượng, hãy tiếp tục.
Tính năng này an toàn trừ khi bạn đặt loại mã hóa thích hợp cho các trang của mình. Đó là lý do tại sao bạn thấy nhiều ngôn ngữ khác nhau trên thế giới trong các trang html.
Nếu bạn xác định mã hóa chính xác trong tiêu đề html, thì thường là an toàn. Tuy nhiên một số thiết bị có thể có vấn đề hiển thị các nhân vật, nhưng nó thực sự phụ thuộc vào nhân vật chính xác.
Tùy thuộc vào ký tự và (các) phông chữ. Bạn cần thử nghiệm các ký tự mà bạn quan tâm.
Hãy nhớ rằng CSS cho phép bạn áp dụng nhiều phông chữ cho một khối văn bản: nếu ký tự cụ thể không có sẵn trong phông chữ lựa chọn đầu tiên của bạn, nhưng có sẵn trong phông chữ lựa chọn thứ hai của bạn, trình duyệt sẽ sử dụng phông chữ lựa chọn thứ hai cho nhân vật đó, ngay cả khi nó có thể sử dụng phông chữ lựa chọn đầu tiên cho phần còn lại của văn bản.
(Điều này tất cả giả sử bạn đã thiết lập mã hóa ký tự một cách chính xác.)
Hãy xem WGL4. Đó là danh sách các ký tự cần được hiển thị chính xác trên các máy tính Windows và tôi nghĩ điều này có nghĩa là các ký tự đó sẽ được hiển thị chính xác trên phần lớn các thiết bị.
- 1. Các ký tự Unicode và Ascii có giống nhau không?
- 2. Làm cách nào để xử lý các ký tự Unicode (không phải ASCII) bằng Python?
- 3. Các ký tự không phải ASCII trong C
- 4. chr cho các ký tự không phải ASCII trong Python
- 5. Các ký tự không phải ASCII trong Matplotlib
- 6. Các ký tự không phải ascii trong URL
- 7. Nhập các ký tự không phải ASCII vào scanf ("% s")
- 8. POSIX regex có cung cấp các ký tự unicode hoặc về cơ bản không phải là ascii không?
- 9. Cố gắng xóa các ký tự không phải ASCII chỉ
- 10. Sử dụng các ký tự unicode trong tài liệu Haddock
- 11. Chuyển đổi các ký tự không phải ASCII từ ASCII-8BIT sang UTF-8
- 12. Tôi có cần web.config cho các ký tự không phải ASCII không?
- 13. Làm cách nào để viết các ký tự không phải ASCII bằng cách sử dụng echo?
- 14. Cách tìm kiếm các ký tự không phải ASCII bằng các công cụ bash?
- 15. Giao diện Python với PayPal - urllib.urlencode các ký tự không phải ASCII không thành công
- 16. Regex cho một hashtag (giống như twitter) cho phép các ký tự không phải ASCII
- 17. Làm cách nào để phát hiện các ký tự không phải ASCII trong chuỗi?
- 18. Bash: Chuyển đổi các ký tự không phải ASCII thành ASCII
- 19. Có an toàn để sử dụng các chức năng chủ đề 'Không an toàn' không?
- 20. Làm cách nào để tìm các ký tự Unicode/không phải ASCII trong trường NTEXT trong bảng SQL Server 2005?
- 21. (grep) Regex có khớp với các ký tự không phải ASCII không?
- 22. UnicodeEncodeError: codec 'ascii' không thể mã hóa các ký tự
- 23. Tìm ký tự ASCII tương tự trong Unicode
- 24. Làm cách nào để có thể truy xuất các chuỗi có ký tự không phải ASCII bằng OptParse?
- 25. RegEx: Loại bỏ các ký tự không phải chữ cái UTF-8 an toàn, nhanh chóng
- 26. Ký tự JavaMail và không phải ASCII trong tên tệp
- 27. Tìm ký tự không phải ASCII trong cột VARCHAR bằng cách sử dụng SQL Server
- 28. Xóa các ký tự không phải ASCII khỏi các tệp dữ liệu
- 29. Làm cách nào tôi có thể sử dụng N '' trong LINQ to Entity cho các ký tự không phải Unicode?
- 30. Có an toàn không khi sử dụng các URI giao thức không có sơ đồ trên các trang web công cộng? Ví dụ //www.example.com/dir/file
Xác định "an toàn". "Sẽ được hiển thị chính xác" hoặc "sẽ không gây ra bất kỳ lỗ hổng bảo mật nào" hoặc ý của bạn là gì? – jalf
Ý định của tôi là "được hiển thị chính xác". Nhưng liệu có thể một nhân vật có thể gây ra bất kỳ lỗ hổng bảo mật nào không !? – Victor
Chắc chắn, một ký tự 'có thể được sử dụng để tiêm SQL nếu bạn không khử trùng các truy vấn của mình một cách chính xác. – ceejayoz