Tiếng Việt

Bộ công cụ dữ liệu dành cho nhà phát triển — câu hỏi

Cách bộ công cụ xử lý dữ liệu của bạn, tiện ích nào chính xác và nơi mỗi tiện ích cố tình dừng lại.

Phiên bản ngắn

Mọi tiện ích ở đây đều chạy trong tab trình duyệt của bạn. Không có nội dung nào bạn dán được tải lên hoặc lưu trữ bởi máy chủ ứng dụng ToolAcre. Phân tích trên toàn trang web chỉ chạy trên máy chủ sản xuất chuẩn đã được định cấu hình và được tiết lộ trong Chính sách quyền riêng tư; các giá trị đã dán bị loại trừ khỏi các sự kiện phân tích của chính ToolAcre.

Những câu hỏi dưới đây là những câu hỏi quyết định xem bạn có thể tin tưởng vào một kết quả cụ thể hay không. Ở đâu một tiện ích là chính xác, nó sẽ nói như vậy; nơi nó gần đúng hoặc từ chối, nó cũng nói điều đó.

Điều gì xảy ra với những gì bạn dán

  • Mọi chuyển đổi, băm, giải mã và tìm khác biệt đều chạy trong tab trình duyệt của bạn. Không có đầu vào nào được tải lên, ghi lại hoặc lưu trữ trên máy chủ vì không có máy chủ nào liên quan sau khi trang được tải.
  • Băm đến từ việc triển khai Web Crypto của chính trình duyệt và UUID từ trình tạo ngẫu nhiên được bảo mật bằng mật mã của nó. Không liên quan đến cuộc gọi mạng.
  • Không có nội dung nào bạn nhập được ghi vào bộ nhớ cục bộ hoặc cookie. Tải lại trang sẽ loại bỏ nó; đóng tab sẽ loại bỏ nó.
  • Phân tích trên toàn trang web chỉ chạy trên máy chủ sản xuất chuẩn đã được định cấu hình và được tiết lộ trong Chính sách quyền riêng tư; máy chủ cục bộ và bản xem trước từ chối nó. Các giá trị, mã thông báo, URL và nội dung tệp đã dán sẽ bị loại trừ khỏi các sự kiện phân tích của chính ToolAcre. Quảng cáo bị vô hiệu hóa trong cấu hình hiện tại.
  • Điều đó cho biết: khóa JWT hoặc API là thông tin xác thực trực tiếp. Thói quen an toàn là không bao giờ dán nội dung này vào trang web mà bạn không viết, cho dù những tuyên bố của trang đó có đáng tin cậy đến đâu đi nữa - bao gồm cả trang này.

Câu hỏi

Có bất kỳ thứ gì tôi dán được tải lên không?

Không có ToolAcre tải lên nào nhận được nó. Mọi chuyển đổi, băm, giải mã và tìm khác biệt đều diễn ra trong trình duyệt của bạn. Phân tích trên toàn trang web được giới hạn ở máy chủ sản xuất chuẩn được định cấu hình và được nêu trong Chính sách quyền riêng tư; các giá trị, mã thông báo, URL và nội dung tệp đã dán sẽ bị loại trừ khỏi các sự kiện phân tích của chính ToolAcre.

Có thứ gì được lưu trữ giữa các lần truy cập không?

Không. Bộ công cụ không ghi gì vào localStorage, sessionStorage, IndexedDB hoặc cookie. Tải lại trang sẽ xóa mọi thứ bạn đã nhập; đóng tab cũng làm như vậy. Không có hệ thống tài khoản nên không có gì để đăng ký và không có gì để xóa.

Base64 ở đây có xử lý biểu tượng cảm xúc và văn bản không phải tiếng Anh không?

Vâng, chính xác. Văn bản được chuyển đổi thành UTF-8 byte trước khi mã hóa và giải mã trở lại bằng bộ giải mã nghiêm ngặt, do đó, biểu tượng cảm xúc, CJK, tiếng Ả Rập, dấu kết hợp và chuỗi ZWJ đều là byte khứ hồi cho byte. Đây là vấn đề cụ thể mà hàm btoa() tích hợp trong trình duyệt mắc lỗi — nó đưa vào một số ký tự và âm thầm tạo ra các byte không chính xác cho những ký tự khác.

Trình xác thực JSON tìm thấy vị trí lỗi như thế nào?

Bằng máy quét riêng thay vì đọc thông báo lỗi của động cơ. Văn bản lỗi JSON của trình duyệt dành riêng cho công cụ và động cơ V8 hiện tại hoàn toàn bỏ qua vị trí này đối với một số lỗi. Máy quét sẽ duyệt tài liệu và báo cáo phần bù đầu tiên không hợp lệ JSON, với lý do được viết cho con người — dấu phẩy ở cuối, chuỗi trích dẫn đơn, chuỗi không kết thúc — cùng với dòng vi phạm và dấu mũ.

Những tính năng YAML nào được hỗ trợ?

Cấu trúc YAML 1.2 tiêu chuẩn, được đọc với lược đồ bị hạn chế chỉ có thể tạo ra dữ liệu có hình dạng JSON: chuỗi, số, boolean, null, chuỗi và ánh xạ. Các thẻ xây dựng các đối tượng tùy ý sẽ bị từ chối. Bạn có thể chọn giữa lược đồ JSON (nghiêm ngặt nhất) và lược đồ Core (cũng phân giải ~ và các giá trị trống thành null, số nguyên hex và .inf / .nan).

Tại sao tệp YAML của tôi không thành công với "thẻ không xác định"?

Bởi vì nó sử dụng thẻ tùy chỉnh hoặc thẻ dành riêng cho ngôn ngữ, chẳng hạn như !!js/function, !!python/object/apply, !!binary hoặc !!timestamp. Trình tải được định cấu hình để xây dựng những thứ đó là một hàm tạo đối tượng tùy ý, trong một số ngôn ngữ là lớp lỗi thực thi mã từ xa. Công cụ này từ chối chúng theo thiết kế thay vì tạo ra một ngoại lệ.

Giá trị băm có đúng không?

Chúng được tính toán bằng quá trình triển khai Web Crypto của chính trình duyệt và bộ thử nghiệm sẽ kiểm tra chúng dựa trên các vectơ đã xuất bản — SHA-256 của "abc" là ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad và các vectơ SHA-1, SHA-384 và SHA-512 được kiểm tra dọc theo nó, cùng với các bản tóm tắt chuỗi trống.

Tại sao SHA-1 được đánh dấu là bị hỏng?

Bởi vì nó là như vậy. Xung đột thực tế đã được xuất bản trong 2017 (SHAttered) và xung đột tiền tố được chọn — biến thể phá vỡ chữ ký và chứng chỉ — đã trở nên hợp lý trong 2020. Nó được bao gồm để bạn có thể tái tạo các giá trị SHA-1 hiện có như id đối tượng git và chữ ký API kế thừa, đây là một điều khác với việc dựa vào nó.

UUID đến từ đâu?

Từ crypto.randomUUID() hoặc crypto.getRandomValues() khi không có RandomUUID. Cả hai đều là trình tạo mã hóa an toàn của trình duyệt. Math.random() không bao giờ được sử dụng: trạng thái bên trong của nó có thể được phục hồi sau một loạt đầu ra ngắn, điều này khiến mọi thứ được xây dựng từ nó đều có thể dự đoán được. Nếu không tồn tại nguồn an toàn, công cụ sẽ từ chối tạo thay vì lặng lẽ hạ cấp.

Bộ giải mã JWT có xác minh chữ ký không?

Không. Nó giải mã tiêu đề và tải trọng, đồng thời hiển thị cho bạn những gì họ yêu cầu. Nó không kiểm tra chữ ký, vì vậy không có gì nó hiển thị chứng minh mã thông báo là xác thực, không bị thay đổi hoặc do bất kỳ ai đặt tên. Việc xác minh yêu cầu khóa của nhà phát hành và thuật toán được ghim, thuộc về hệ thống tin cậy mã thông báo — không thuộc về trang web.

Tôi có thể dán mã thông báo truy cập thực vào không?

Bạn có thể và không nên - ở đây hoặc bất cứ nơi nào khác. Mã thông báo trực tiếp là thông tin xác thực: bất kỳ ai nắm giữ nó đều có thể hoạt động như bạn cho đến khi nó hết hạn. Trang này giải mã cục bộ và không gửi gì cả, nhưng đó là xác nhận mà bạn không thể xác minh nhanh chóng trên bất kỳ trang web nào, vì vậy thói quen an toàn đã hết hạn hoặc mã thông báo kiểm tra đã hết hạn. Nếu bạn đã dán một cái ở đâu đó, hãy xoay nó.

Sự khác biệt giữa văn bản hoạt động như thế nào?

Nó tính toán một tập lệnh chỉnh sửa chuỗi chung dài nhất, cung cấp một tập hợp bổ sung và loại bỏ tối thiểu thay vì so sánh từng dòng đơn giản. Các dòng đầu và cuối giống hệt nhau sẽ được cắt bớt trước tiên, do đó, việc so sánh hai tệp lớn khác nhau ở một nơi sẽ diễn ra nhanh chóng.

Tại sao khác biệt từ chối đầu vào rất lớn?

Thuật toán LCS cần thời gian và bộ nhớ tỷ lệ thuận với tích của hai độ dài. Sau vài nghìn dòng khác nhau sẽ trở thành phân bổ, tab trình duyệt không nên thử, vì vậy công cụ sẽ từ chối rõ ràng và đề xuất so sánh một vùng nhỏ hơn. Các tệp chia sẻ hầu hết nội dung sẽ được cắt bớt trước tiên và duy trì tốc độ nhanh bất kể tổng kích thước.

Việc phát hiện đơn vị dấu thời gian có đáng tin cậy không?

Đó là một phương pháp phỏng đoán được ghi lại và không bao giờ im lặng. Mọi giá trị bằng hoặc cao hơn 10^11 đều được coi là mili giây vì 10^11 giây là năm 5138 trong khi 10^11 mili giây là 1973. Đơn vị thực sự được sử dụng luôn được hiển thị cùng với kết quả và bạn có thể ghi đè lên nó.

Bộ công cụ có hoạt động ngoại tuyến không?

Sau khi trang đã được tải, vâng — không có gì cần đến mạng. Không có nhân viên dịch vụ nên tải ban đầu vẫn yêu cầu kết nối.

Nó có hoạt động trên điện thoại không?

Đúng. Bố cục hoạt động từ 320 CSS pixel trở lên, văn bản biểu mẫu là 16px nên Safari trên thiết bị di động không thu phóng tiêu điểm và các điều khiển đáp ứng mục tiêu cảm ứng tối thiểu 44 pixel. Trình chỉnh sửa và kết quả đầu ra cuộn bên trong các hộp riêng của chúng, do đó, một dòng dài JSON được rút gọn sẽ không bao giờ mở rộng trang.

Công cụ khử trùng của biên tập viên HTML có an toàn khi sử dụng trên dữ liệu đầu vào không đáng tin cậy không?

Không, và hội đồng nói như vậy. Đây là danh sách cho phép dành cho đầu ra của chính người chỉnh sửa: các thành phần và thuộc tính bên ngoài danh sách cố định sẽ bị xóa, trình xử lý sự kiện không thể tồn tại vì không có thuộc tính nào tồn tại trừ khi nó được liệt kê và chỉ các liên kết http, https, mailto, tel, ftp và tương đối được giữ lại. Điều đó làm cho những gì trình soạn thảo này phát ra có thể an toàn để dán vào trang mà bạn kiểm soát. Đây không phải là bộ lọc XSS có mục đích chung — nó là trình mã thông báo chuỗi, không phải trình phân tích cú pháp HTML5, do đó, về nguyên tắc, tải trọng thù địch có thể được trình duyệt phân tích cú pháp khác nhau. Bản xem trước là một iframe được đóng hộp cát không có tập lệnh cho phép, do đó, không có gì có thể thực thi ở đó.

Tại sao đôi khi máy tính chmod hiển thị S và T bằng chữ in hoa?

Bởi vì bit đặc biệt được đặt còn bit thực thi phù hợp thì không. 4755 là rwsr-xr-x, một chương trình setuid có thể chạy; 4644 là rwSr--r--, một tệp setuid mà không ai có thể thực thi và hầu như luôn là một lỗi. Chữ in hoa là hệ thống cho bạn biết bit không có gì để hành động và một máy tính hiển thị chữ s viết thường sẽ ẩn một thứ bạn cần xem.

Trình chuyển đổi docker có bao giờ chạy lệnh tôi dán không?

Không. Nó phân tách chuỗi bằng mã thông báo nhận biết trích dẫn và đọc các phần. Không có eval, không có shell và không có tiến trình con nào ở bất kỳ đâu trong cơ sở mã. Dấu ngược, $(...) và dấu chấm phẩy vẫn là ký tự chữ. Bất kỳ cờ nào mà nó không thể chuyển đổi đều được đặt tên trong một cảnh báo hiển thị thay vì bị loại bỏ, bởi vì một tệp soạn thảo âm thầm thực hiện ít hơn lệnh mà nó xuất phát là điều tồi tệ nhất mà công cụ này có thể tạo ra.

Tại sao thời gian xem trước cron không khớp với máy chủ của tôi?

Thông thường, múi giờ: cron sử dụng vùng của máy mà nó chạy và bản xem trước sử dụng vùng bạn đã chọn, vì vậy hãy đặt nó vào vùng máy chủ của bạn. Nguyên nhân có thể xảy ra khác là quy tắc ngày — khi cả ngày trong tháng và ngày trong tuần được đặt, cron sẽ chạy khi EITHER khớp, điều này kích hoạt thường xuyên hơn hầu hết mọi người mong đợi. Trình tạo cảnh báo khi áp dụng.

Có quảng cáo hoặc phân tích không?

Quảng cáo bị vô hiệu hóa trong cấu hình hiện tại. Phân tích trên toàn trang web chỉ chạy trên máy chủ sản xuất chuẩn đã được định cấu hình và được tiết lộ trong Chính sách quyền riêng tư; các giá trị, mã thông báo, URL và nội dung tệp đã dán sẽ bị loại trừ khỏi các sự kiện phân tích của chính ToolAcre.

Hạn chế

  • Mọi thứ đều chạy trong một tab trình duyệt, vì vậy mọi tiện ích đều được giới hạn bởi bộ nhớ thiết bị của bạn. Mỗi cái đều có giới hạn đầu vào rõ ràng và từ chối công việc quá khổ thay vì đóng băng.
  • Việc băm và tạo UUID yêu cầu bối cảnh an toàn (https:// hoặc localhost), vì đó là nơi trình duyệt hiển thị Web Crypto.
  • Bộ giải mã JWT không bao giờ xác minh chữ ký và mã thông báo JWE đã mã hóa hoàn toàn không thể giải mã được.
  • YAML được đọc bằng lược đồ chỉ có dữ liệu; các tài liệu dựa vào thẻ tùy chỉnh bị thiết kế từ chối.
  • Bảng thực thể HTML bao gồm tập hợp con thực tế thay vì tất cả các tham chiếu có tên 2,231 HTML5 và các tên không xác định sẽ được báo cáo thay vì đoán.
  • Sự khác biệt so sánh toàn bộ dòng. Không có phần đánh dấu cấp độ từ hoặc cấp độ ký tự trong một dòng đã thay đổi.
  • Công cụ dọn dẹp của biên tập viên HTML là một danh sách cho phép dành cho đầu ra của chính nó, không phải là bộ lọc XSS có mục đích chung dành cho đầu vào không đáng tin cậy và không có hình ảnh, bảng biểu hay kiểu dáng.
  • Trình chuyển đổi docker xử lý một lệnh chạy docker tại một thời điểm và đặt tên cho mọi cờ mà nó không thể đại diện thay vì loại bỏ nó.
  • Trình tạo cron chỉ đọc cú pháp crontab năm trường và thời gian chạy tiếp theo của nó là bản xem trước dựa trên dữ liệu múi giờ của trình duyệt chứ không phải là sự đảm bảo về máy chủ của bạn.