2009-01-23 37 views
8

Khi nhập dưới dạng html, các trình duyệt như firefox hoặc tức là lưu trữ các giá trị, đôi khi lặng lẽ. Vì vậy, khi nhập vào một biểu mẫu web khác, trình duyệt thông minh đề xuất cùng một thông tin. Một phương pháp khác để hiển thị danh sách thả xuống là nhấp đúp vào một hộp văn bản trống.Làm cách nào để buộc trình duyệt không lưu trữ dữ liệu trường biểu mẫu html?

Trong trang web thương mại điện tử, khách hàng nhập số thẻ tín dụng và một thông tin nhạy cảm khác. Làm cách nào để tránh hoặc chặn trình duyệt lưu trữ thông tin nhạy cảm đó?

Một lo ngại khác là về dữ liệu biểu mẫu giả mạo được lưu trữ (bởi phần mềm độc hại, chẳng hạn). Sau đó, khách hàng có thể chọn dữ liệu bị ô nhiễm này và xâm phạm trang web.

Trân trọng.

+0

Re: "Làm cách nào để tránh hoặc chặn trình duyệt lưu trữ thông tin nhạy cảm đó?" Đừng. Không phải chuyện của bạn. –

+1

có thể trùng lặp của [Làm thế nào để bạn vô hiệu hóa trình duyệt Tự động điền trên trường biểu mẫu web/thẻ đầu vào?] (Http://stackoverflow.com/questions/2530/how-do-you-disable-browser-autocomplete-on-web-form -field-input-tag) –

Trả lời

6

Hãy thử với atribute autocomplete="off"

Nó sẽ làm việc cho các yếu tố đầu vào duy nhất:

<input type="text" autocomplete="off" name="text1" /> 

hoặc cho toàn bộ hình thức:

<form name="form1" id="form1" method="post" autocomplete="off" 
    action="http://www.example.com/action"> 
[...] 
</form> 

Và đặc biệt cho ASP NET bạn có thể đặt như sau:

Các WebForms hình:

<form id="Form1" method="post" runat="server" autocomplete="off"> 

Hộp để:

<asp:TextBox Runat="server" ID="Textbox1" autocomplete="off"></asp:TextBox> 

hoặc trong thời gian chạy:

Textbox1.Attributes.Add("autocomplete", "off"); 
-1

Bạn có thể đặt trên các lĩnh vực đầu vào:

autocomplete="off" 

như một thuộc tính.

Điều đó đang được nói: KHÔNG LÀM VIỆC.

Từ quan điểm khả năng sử dụng, ý tưởng là ý tưởng khủng khiếp. Đặc biệt nếu có xác nhận trường. Không có gì khó chịu hơn là phải nhập lại các phần của biểu mẫu vì bạn phải sửa một biểu mẫu hoàn toàn không liên quan. Hầu hết người dùng thích thực tế là họ không phải nhập lại số thẻ tín dụng, tên, địa chỉ email, v.v.

Bạn sẽ làm phiền nhiều người dùng hơn bạn tắt bằng cách tắt các tính năng này.

Cuối cùng, bảo mật là vấn đề của người dùng và tính gây hiểu lầm của họ. Đại đa số người sử dụng máy tính cá nhân hoặc công việc, do đó, tốt với bộ nhớ đệm thông tin như vậy. Các thiết bị đầu cuối công cộng được cấu hình đúng sẽ xóa dữ liệu biểu mẫu khi người dùng đăng xuất.

Vậy bạn chính xác là ai?

+0

Điều này không nên được giảm giá. Tuy nhiên, đối với các bit về "an ninh là của người dùng perogative," Tôi nghĩ rằng đó không nhất thiết phải là thái độ đúng. Bạn có thể đang xây dựng một ứng dụng kinh doanh mà một trong những yêu cầu là không cho phép các trường tự động hoàn thành này. Nhưng đôi khi bạn có thể có một điểm. – BobbyShaftoe

+2

Nói rằng bảo mật là vấn đề của người dùng là đưa nó quá xa, nhưng +1 cho ý chính. Tôi ghét các biểu mẫu vô hiệu hóa tính năng tự động hoàn thành và/hoặc sử dụng tên trường không chuẩn (đọc "ngu ngốc") (như "EmailAddy"). –

+2

Dừng trình duyệt lưu trữ số thẻ tín dụng không được để lại cho người dùng. Quá nhiều người dùng thậm chí sẽ không nhận ra đó là một vấn đề. –

2

Như những người khác đã nói, câu trả lời là autocomple="off"

Tuy nhiên tôi nghĩ rằng nó có giá trị nêu tại sao đó là một ý tưởng tốt để sử dụng trong một số trường hợp như một số câu trả lời cho điều này và duplicate câu hỏi đã gợi ý nó tốt hơn không tắt nếu tắt.

Dừng trình duyệt lưu trữ số thẻ tín dụng không được để lại cho người dùng. Quá nhiều người dùng thậm chí sẽ không nhận ra đó là một vấn đề.

Điều đặc biệt quan trọng là tắt tính năng này trên các trường cho mã bảo mật thẻ tín dụng. Như this page bang

"Không bao giờ lưu trữ mã bảo vệ ... giá trị của nó phụ thuộc vào giả định rằng cách duy nhất để cung cấp nó là để đọc nó từ thẻ tín dụng thực, chứng minh rằng người đó cung cấp nó thực sự nắm giữ Thẻ."

Vấn đề là, nếu đó là một máy tính công cộng (cyber cafe, thư viện vv) nó sau đó dễ dàng cho những người dùng khác để ăn cắp thông tin thẻ của bạn, và thậm chí trên máy tính của riêng bạn một trang web độc hại có thể steal autocomplete data.

+1

lol Tôi thích câu nói đó - như tôi không thể nhớ số có 3 chữ số!nhưng không lưu nó! trong thực tế nó là bất hợp pháp từ quan điểm PCI. –

3

Bạn nên sử dụng tính năng tự động hoàn thành = "tắt" cho máy tính công cộng khi bạn lưu trữ dữ liệu như tên người dùng, số thẻ tín dụng và như vậy.

Vì vậy, nếu bạn xây dựng hệ thống mạng nội bộ, bạn có thể làm điều đó.

Các vấn đề liên quan