Làm cách nào để xóa tất cả bộ nhớ cục bộ HTML5 khỏi Safari?


11

Có vẻ như stackauth.comđã sử dụng một số bộ nhớ cục bộ mà Safari của tôi không hiển thị cho tôi và do đó không thể xóa được. Vì vậy, nói chung: làm thế nào để đảm bảo tất cả bộ nhớ cục bộ bị xóa khỏi Safari?

Một số thông tin cơ bản và chi tiết:

Bộ lưu trữ cục bộ HTML5 cho phép các trang web lưu trữ thông tin trên máy tính. (Đó là một chút giống như cookie, nhưng nội dung không được gửi tự động đến máy chủ.) Giống như khi một người đã đăng nhập vào trang web Twitter (mới), sau đó khi xem trang web đó và dán phần sau vào thanh vị trí sẽ hiển thị rất nhiều chi tiết, ngay cả khi hiện tại chưa đăng nhập :

javascript:alert(localStorage.getItem(':USER:'));

Để loại bỏ dữ liệu này: trong Google Chrome "Xóa cookie và dữ liệu trang web khác" thực hiện thủ thuật. Trong Firefox, nó bị xóa bất cứ khi nào cookie bị xóa. Không quá nhiều trong Safari.

Trong Safari dường như có một ưu tiên liên quan trong Bảo mật, nút "Hiển thị cơ sở dữ liệu". Tuy nhiên: danh sách "Hiển thị cơ sở dữ liệu" đó trong Safari KHÔNG đề cập đến stackauth.com , như được sử dụng bởi đăng nhập tự động mạng toàn cầu Stack Exchange . Và sau khi sử dụng "Xóa tất cả", tôi vẫn nhận được kết quả trên trang web đó:

javascript:alert(localStorage.getItem('GlobalLogin'));

Tôi có thể xóa cái này bằng cách sử dụng javascript:localStorage.clear();. Nhưng sau đó tôi cần biết rằng một trang web đã lưu trữ dữ liệu. Câu hỏi này không chỉ là về StackAuth; Tôi muốn chắc chắn rằng các trang web khác cũng không bị ẩn khỏi danh sách.

(Tôi đang dùng Mac, sử dụng Safari mới nhất trên OS X mới nhất).

Khi popup là quá lớn để nhìn thấy bất kỳ nút đóng, sau đó nhấn Esc hoặc Return để đóng hộp thoại cảnh báo.

Câu trả lời:


5

Trong các phiên bản gần đây của Safari (Tôi hiện đang ở 5.1), có thể xóa bộ nhớ cục bộ bằng Safari »Đặt lại Safari» Xóa tất cả dữ liệu trang web. Hoặc bằng cách sử dụng Safari »Tùy chọn» Bảng riêng tư »Cookie và dữ liệu trang web khác» Xóa tất cả dữ liệu trang web. Và thậm chí bằng cách sử dụng Xóa tất cả khi xem chi tiết trên bảng tính Quyền riêng tư đó. Bảng bảo mật không còn hiển thị bất kỳ nút nào để xem cơ sở dữ liệu.

Một số chi tiết khác, cũng dành cho các phiên bản cũ hơn:

Trên máy Mac của tôi, tôi thấy các thư mục ~/Library/Safari/LocalStorage, trong đó có một tập tin cho mỗi trang web có sử dụng lưu trữ địa phương , với thiết lập ngày tạo của mình cho lần đầu tiên của tôi để mỗi trang web. Trên Windows, nó có thể nằm trong một thư mục như %APPDATA%\Apple\Safarihoặc %APPDATA%\Apple Computer\Safari.

Xóa tất cả các tệp đó và khởi động lại Safari, rõ ràng cũng đã xóa dữ liệu cho StackAuth.

Tuy nhiên, đăng nhập vào trang Stack Stack ngẫu nhiên sẽ lấy lại dữ liệu StackAuth cho tôi và một tệp trong thư mục trên mà không bao giờ được nhắc cho phép điều đó (tùy chọn Safari của tôi hiển thị " Lưu trữ cơ sở dữ liệu: không được phép trước khi hỏi ") và không có tên miền được hiển thị trong danh sách "Hiển thị cơ sở dữ liệu". Điều này cũng xảy ra trong các chế độ duyệt web riêng tư.

Điều này dường như được gây ra bởi sự khác biệt giữa Cơ sở dữ liệu Web HTML5 và Lưu trữ web HTML5 (sau này bao gồm lưu trữ cục bộ). Chrome hiển thị cả cho Twitter:

Cơ sở dữ liệu và bộ nhớ cục bộ trong Google Chrome

Rõ ràng Safari chỉ cảnh báo cho cơ sở dữ liệu, không phải cho lưu trữ cục bộ? Có lẽ việc chặn bộ nhớ cục bộ sẽ khó như ngăn Adobe Flash rời khỏi dấu vết riêng tư của nó. Các thông số kỹ thuật nhà nước:

Tác nhân người dùng chỉ nên hết hạn dữ liệu từ các vùng lưu trữ cục bộ vì lý do bảo mật hoặc khi người dùng yêu cầu làm như vậy.

Chúng ta hãy hy vọng ai đó biết về một cách dễ dàng hơn hoặc chúng ta sẽ có thêm quyền kiểm soát trong các phiên bản tương lai. (Tôi đã gửi một yêu cầu tính năng tại Apple cho điều đó.)

Trong trường hợp của tôi, tôi thấy bao nhiêu là 5.904 mặt hàng có niên đại đến tháng năm 2009. Và ngay cả các lĩnh vực của riêng tôi, mà tôi chắc chắn rằng không có lưu trữ địa phương được sử dụng, được niêm yết với 8KB tập tin mỗi. Điều tra cho thấy tập lệnh người dùng FlashBlock của Alexey Ruzanov cũng sử dụng bộ nhớ cục bộ và do đó gây ra một tệp cho mỗi trang web một lần truy cập, bất kể nó có sử dụng bộ nhớ cục bộ hay không và có sử dụng Flash hay không.


À, tôi gần như bị lừa ở đây: nhấp một cách rõ ràng "Không cho phép" khi được nhắc "Cho phép trang web này sử dụng không gian trên đĩa của bạn? - Trang web của twitter twitter.com.com đang yêu cầu 1 MB dung lượng đĩa để lưu trữ html html5 test db Tôi là một cơ sở dữ liệu trên đĩa của bạn ", vẫn lấy cho tôi dữ liệu khi thực hiện thủ thuật JavaScript và tệp 8kb trên đĩa. Tuy nhiên, khởi động lại Safari cho thấy dữ liệu này chưa được lưu trữ (hoặc ít nhất: không thể truy cập được).
Arjan

2

Giải pháp của tôi hơi khác một chút:

Trên Windows:

  1. Giữ Ctrl + Alt + C.
  2. Nhập mã sau vào cửa sổ bật lên và nhấp vào phím Enter: localStorage.clear()

Trên máy Mac:

  1. Giữ Cmd + Opt + C.
  2. Nhập mã sau vào cửa sổ bật lên và nhấp vào phím Enter: localStorage.clear()

0

Trong một vài phiên bản Safari mới nhất (phiên bản 13 tính đến thời điểm này), bạn có thể truy cập Tùy chọn> Quyền riêng tư> Quản lý dữ liệu trang web và sau đó xóa tất cả dữ liệu theo tên miền.

Trình quản lý dữ liệu trang web Safari 13 hiển thị Superuser.com


Thật vậy, điều này đã được khắc phục vào tháng 10 năm 2011 :-) Lưu ý rằng các trang web không giới hạn theo dõi đối với tên miền chính của họ: khi duyệt Siêu người dùng, bạn cũng sẽ nhận được theo dõi từ Google, có thể không bị xóa bởi quy trình trong ảnh chụp màn hình của bạn. (Ngoài ra, khi quyền riêng tư thực sự quan trọng, một người sử dụng tốt hơn các cửa sổ duyệt web riêng tư, cùng với Tor và thậm chí có thể là một người dùng khác và luôn cập nhật trình duyệt. Mọi người luôn tìm ra những cách mới để theo dõi khách truy cập và trình duyệt sẽ có lỗi thiết kế aka lỗi .)
Arjan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.