Làm thế nào lớn một chuỗi tác nhân người dùng có thể nhận được?


193

Nếu bạn định lưu trữ một tác nhân người dùng trong cơ sở dữ liệu, bạn sẽ nhận được bao nhiêu tiền?

Tôi đã tìm thấy bài viết về kỹ thuật này khuyên bạn nên giữ UA dưới 200. Có vẻ như điều này không được định nghĩa trong đặc tả HTTP ít nhất là không phải tôi tìm thấy. UA của tôi đã có 149 ký tự và có vẻ như mỗi phiên bản .NET sẽ được thêm vào nó.

Tôi biết tôi có thể phân tích chuỗi ra và phá vỡ nó nhưng tôi không muốn.


EDIT
Dựa trên Blog này IE9 sẽ thay đổi để gửi chuỗi UA ngắn. Đây là một thay đổi tốt.



Tôi đã đăng câu hỏi này: stackoverflow.com/questions/17731699/
Kẻ

Chuỗi UA của bạn là gì? Tôi chỉ tìm thấy một số chuỗi có 137 ký tự trong cơ sở dữ liệu của mình (không quá lớn).
Martin Thoma

Khi tôi hỏi câu hỏi này năm năm trước hoặc lâu hơn. UA chuỗi được nhận lâu họ bao gồm rất nhiều công cụ bổ sung ...
JoshBerke

2
Tôi phải hỏi, câu trả lời về chủ đề này có còn phù hợp không? Hầu hết các câu trả lời là 8 tuổi.
Peschke

Câu trả lời:


114

Đặc tả HTTP không giới hạn độ dài của các tiêu đề. Tuy nhiên, các máy chủ web giới hạn kích thước tiêu đề mà họ chấp nhận, ném 413 Entity Too Largenếu vượt quá.

Tùy thuộc vào máy chủ web và cài đặt của chúng, các giới hạn này thay đổi từ 4KB đến 64KB (tổng cộng cho tất cả các tiêu đề).


11
Apache giới hạn độ dài trường tối đa là 8k ( httpd.apache.org/docs/2.2/mod/core.html#limitrequestfieldsize ).
Gumbo 17/03/2016

Tôi ít quan tâm đến các giới hạn máy chủ kể từ khi tôi sử dụng IIS, tôi biết nó sẽ không bao giờ lớn hơn giới hạn của chúng vẫn còn lớn nếu bộ nhớ phục vụ ....
JoshBerke 17/03/2016

6
@Josh - bộ nhớ phục vụ tốt cho bạn, trên IIS mặc định là 16K. ;-)
vartec 17/03/2016

69

Tôi đảm nhận việc này:

  • Sử dụng bảng chuyên dụng để chỉ lưu trữ UserAgents (bình thường hóa nó)
  • Trong bảng liên quan của bạn, lưu trữ một ngoại chính trị đến thời điểm trở lại UserAgent khóa chính auto-increment lĩnh vực
  • Lưu trữ chuỗi UserAgent thực tế trong trường văn bản và không quan tâm đến độ dài
  • Có cái khác UNIQUE BINARY(32) (hoặc 64 hoặc 128 tùy thuộc vào độ dài băm của bạn)băm UserAgent

Một số chuỗi UA có thể bị dài một cách khó hiểu. Điều này sẽ giúp bạn bớt lo lắng. Đồng thời thực thi độ dài tối đa trong INSERTer của bạn để giữ chuỗi UA dưới 4KB. Trừ khi ai đó gửi email cho bạn trong tác nhân người dùng, không nên vượt quá độ dài đó.


1
Không nên sử dụng trường văn bản nữa như đã nêu trong MSDN: msdn.microsoft.com/en-us/l Library / ms187993 (v = sql.90) .aspx Thay vào đó, hãy sử dụng NVARCHAR (MAX). Nguồn: stackoverflow.com/questions/564755/ Mạnh
Matt Roy

3
Cơ sở dữ liệu của tôi có 10.235 chuỗi tác nhân người dùng riêng biệt. Tôi muốn tìm thuật toán băm nhanh nhất không tạo ra bất kỳ va chạm nào. Đối với môi trường PHP của tôi, tôi thấy md5 hoạt động nhanh chóng ở 2,3 giây mà không có va chạm. Thú vị là tôi đã thử crc32 và crc32b và chúng cũng thực hiện ở 2,3 giây mà không có va chạm. Nhưng, vì md5 có nhiều kết hợp hơn crc32 và crc32b, md5 có thể sẽ có ít va chạm hơn. Dù sao, md5 là lựa chọn của tôi và tôi hy vọng nó sẽ hoạt động tốt.
noctufaber

2
Tại sao băm Tác nhân người dùng? Đây là để tìm kiếm nhanh chóng hay cái gì đó?
Bùng nổ

2
@Boom Tra cứu và tính duy nhất như các khóa duy nhất DB chỉ có thể quá dài.
CodeAngry

2
@noctufaber crc32 không phải là một hàm băm, nó không cố gắng để chống va chạm.

29

Nhận thấy một cái gì đó như thế này trong nhật ký apache của chúng tôi. Nó có vẻ bất thường đối với tôi nhưng tôi thường xuyên nhìn thấy những thứ như vậy trong nhật ký chủ yếu từ các hệ thống Windows.

97690420804; 79980706603; 9867086703; 996602846703; 87690804; 6989010903; 977809603; 666601903; 876905337804; 89670603; 89970200903; 786903603; 696901911703; 788905703; 896709804; 96890703; 998601903; 88980703; 666604769703; 980806603; 7988020804; 996608804; 788903297903; 98770043603; 899708804; 66960371603; 9669088903; 69990703; 99660519903; 97780603; 888801804; 9867071703; 79780804; 9779087603; 899708603; 66960456804; 898706824603; 78890299903; 99660703; 9768079804; 977901591603; 89670605603; 787903608603; 998607934903; 799808573903; 878909603; 979808146703; 9996088603; 797804154903; 69790603; 99660565603; 7869028603; 896707703; 97980965603; 976907191703; 88680703; 888809804; 69690903; 889805523703; 899707703; 997605035603; 89970029804; 9699094903; 877906804; 899707002703; 786905857603; 69890804; 97980051903; 997603978804; 9897097903; 66960141703; 7968077603; 977804603; 88980603; 989700804; 999607887804; 78690772804; 96990560903; 98970961603; 9996032903; 9699098703; 69890655603; 980903803; 698905066804; 977806903; 9809061703; 967903747703; 976900550903; 88980934703; 8878075804; 8977028703; 97980903; 9769006603; 786900804; 98770682703; 78790903; 878906967903; 87690399603; 99860976703; 796805703; 87990603; 968906804; 967904724603; 999606603; 988705903; 989702842603; 96790603; 99760703; 88980166703; 9799038903; 98670903; 697905248603; 7968043603; 66860703; 66860127903; 9779048903; 89670123903; 78890397703; 98090603; 87890804; 8789030603; 69990603; 88880763703; 9769000603; 96990203903; IDIA00405903; 7869022804; 699905422903; 979090703; 87990903; 878908703; 7998093903; 898702507603; 97780637603; 966907903; 896702603; 9769004804; 7869007903; 99660158804; 7899099603; 8977055804; 99660603; 7889080903; 66660981603; 997604603; 6969089804; 899701903; 9769072703; 666603903; 99860804; 997608804; 69790903; 88680756703; 979805677903; 9986047703; 89970804; 66660603; 96690903; 8997051603; 789901209804; 8977098903; 968900326804; 87790703; 98770024804; 697901794603; 69990804; 887805925804; 968908903; 98080603; 897709148703; 877909476903; 66760197703; 977908603; 698902703; 988706504804; 977802026603; 88680964703; 8878068703; 987705107903; 980902878703; 8898069804; 9768031703; 79680804; 79980804; 669609328703; 89870238703; 99960593903; 969904218703; 78890603; 3500000703; 69690630903; 889800982903; 988709748804; 7968052804; 99960007804; 969900800804; 668604817603; 66960903; 78790734603; 8868007703; 79780034903; 8878085903; 976907603; 89670830804; 877900903; 969904889703; 7978033903; 8987043903; 99860703; 979805903; 667603803; 976805348603; 999604127603; 97790701603; 78990342903; 98770672903; 87990253903; 9877027703; 97790804; 877901895603; 8789076903; 896708595603; 997601903; 799806903; 97690603; 87790371703; 667605603; 99760303703; 97680283803; 788902750804; 787909804; 79780603; 79880866903; 9986050903; 87890543903; 979800804; 97690179703; 876901603; 699909903; 96990192603; 878904903; 877904734903; 796801446903; 977904804; 9887044804; 797805565603; 98870789703; 7869093903; 87790727703; 797801 232804; 666604804; 9778071903; 9799086703; 6969000903; 89670903; 8799075903; 897708903; 88680903; 97980362603; 97980503903; 889804256703; 88980388703; 789909376804; 69690703; 6969025903; 89970309903; 96690703; 877901847804; 968901903; 96690603; 88680607603; 7889001703; 789904761804; 976807703; 976902903; 878907889703; 9897014903; 896707046603; 696909903; 666603998903; 969902703; 79680421804; 9769075603; 798800192703; 97990903; 9689024903; 668604804; 969908671903; 9996094703; 69990642703; 98090895903; 977805619903; 79980859903; 88980443803; 98970649603; 997602703; 888802169903; 699907804; 667602028804; 786903283903; 997607703; 969909804; 798809925903; 9976045603; 97790903; IDIA001903; 966903603; 9809069603; 968906603; 6989091804; 896701603; 6979059804; 980804903; 997606362603; 88980804; 98970804; 88880921703; 8997065703; 899700703; 698908703; 797801027903; 7889050903; 87890603; 78690703; 99660069703; 97980309903; 976800603; 666606804; 898707703; 79880019804; 66960250804; 7978049804; 88780602603; 79680903; 88880792703; 96990903; 667608603; 87790730903; 98970903; 9699032903; 8987004804; 88880703; 89770046603; 60000804; 969908903; 9798022603; 696901903; 799804703; 989703703; 668605903; 79780903; 998601371703; 796803339703; 87890922603; 898708903; 9966061903; 66960891903; 96790903; 8779050804; 98870858804; 976909298603; 9887029903; 669608703; 979806903; 878903803; 99960703; 9809086703; 979801804; 66960008703; 979806830804; 99760212703; 786906603; 797807603; 789907297703; 96990703; 786901603; 796807766603; 896702651603; 789902585603; 66660925903; 9986085703; 66960302703; 69890703; 789900703; 89970903; 9679060703; Mộng002903; 979908821603; 986708140804; 976809828703; 7988082804; 79680997903; 99960804; 9808081903; 979805703; 787908603; 66960602804; 9887098703; 980803237703; 888806804603; 999604703; 977904703; 966904635703; 97680291703; 977809345603; 8878046703; 988709804; 976900773603; 989703903; 88780198603; 87790603; 986708703; 78890604703; 87790544804; 976809850903; 887806703; 987707527603; 79880804; 9897059603; 897709820603; 978080804804; 66960026703; 9809062804; 9867090804; 669600603; 8967087703; 78890903; 89770903; 97980703; 976802687603; 66860400804; 979901288603; 96990160903; 99860228903; 966900703; 66760603; 9689035703; 9779064703; 7968023603; 87890791903; 98770870603; 9798005804; 6969087903; 9779097903; 6979065703; 699903252603; 79780989703; 87690901804; 980905763903; 977809703; 97790369703; 899703269603; 8878012703; 78790804; 87690395603; 8888042804; 667607689903; 8977041804; 6666085603; 6999080703; 69990797804; 88680721603; 99660519804; 889807603; 87890146703; 699906325903; 89770603; 669608615903; 9779028804; 88880603; 97790703; 79780703; 97680455603; 6696024804; 78790784703; 98080329903; 9699077703; 89870804; 79680227903; 976905852703; 8997098903; 896704796703; 66860598804; 9897036703; 66960703; 9699094703; 9699008703; 97780485903; 999603179903; 89770834804; 96790445603; 79680460903; 9867009603; 89870328703; 799801035804; 989702903; 66960758903; 66860150804; 6686088603; 9877092804; 96990603; 99860603; 987703663603; 98870903; 699903325603; 87790804; 97680703; 8868030703; 9799030804; 89870703; 97680804; 9669054804; 6979097603; 987708046603; 999608603; 878904804; 998607408903; 968903903; 696900703; 977907491703; 6686033804; 669601804; 99960290603; 887809169903; 979804703; 69890903; 699901447903; 8987064903; 799800603; 98770903; 8997068703; 967903603; 66760146804; 980805087903; 697908138603; 799801603; 88780964903; 989708339903; 8967048603; 88880981603; 789909703; 796806603; 977905977603; 989700603; 97780703; 9669062603; 88980714603; 897709545903; 988701916703; 667604694903; 786905664603; 877900804; 886805490903; 89970559903; 99960531804; 7998033903; 98770804; 78890418703; 669600872804; 996605216603; 78690962703; 667604903; 996600903; 999608903; 9699083804; 787901804; 97780707603; 787905312703; 977805804; 8977033703; 98090708703; 989705521903; 60000703; 698905703; 78890376903; 878907703; 999602903; 986705903; 668602719603; 979901804; 997606903; 66760393903; 987703603; 78790338903; 96890804; 97680596804; 666601603; 977902178804; 877902804; 78790038603; 8868075703; 99960060603) 787905312703; 977805804; 8977033703; 98090708703; 989705521903; 60000703; 698905703; 78890376903; 878907703; 999602903; 986705903; 668602719603; 979901804; 997606903; 66760393903; 987703603; 78790338903; 96890804; 97680596804; 666601603; 977902178804; 877902804; 78790038603; 8868075703; 99960060603) 787905312703; 977805804; 8977033703; 98090708703; 989705521903; 60000703; 698905703; 78890376903; 878907703; 999602903; 986705903; 668602719603; 979901804; 997606903; 66760393903; 987703603; 78790338903; 96890804; 97680596804; 666601603; 977902178804; 877902804; 78790038603; 8868075703; 99960060603)


36
Có ai muốn bình luận về những gì trên trái đất đang xảy ra với tác nhân người dùng này không? lol tôi phải thêm, tôi tò mò làm thế nào một con thú như vậy có thể hình thành.
Erx_VB.NExT.Coder

22
Nếu ai tò mò; cái này đồng hồ ở 8010 chars . Làm thế nào bất cứ ai trong nhóm trình duyệt có thể nghĩ rằng đây là một ý tưởng tốt? Thật điên rồ như một bầy mèo!
Bác sĩ Jones

15
Việc cắt xén chuỗi tác nhân người dùng này ở 256 hoặc 512 có loại bỏ được bất kỳ dữ liệu nào hữu ích không?
JackAce

12
Tôi đã thực hiện một số quan sát, nhưng chưa giải quyết được. Có những 642con số. Bốn số đầu tiên luôn 6, 7, 8, hoặc 9. Số thứ năm luôn 0. Cuối cùng ba luôn 603, 703, 803, hoặc 903. Có lẽ ai đó có thể nhận ra mô hình đó? (Nửa đời 3 đã được xác nhận?)
lưới

Hấp dẫn. Bây giờ tôi đã thêm mã để cắt chuỗi UA thành 255 ký tự cho nhật ký db của mình.
Deepak Thomas

28

Vì nó dành cho mục đích cơ sở dữ liệu và không có giới hạn thực tế, tôi sẽ sử dụng Bảng UserAgents với UserAgentId là Int và UserAgentString là NVarChar (MAX) và sử dụng khóa ngoại trên bảng gốc.


19
Bạn có thể sẽ kết thúc với các tác nhân người dùng trong mối quan hệ trực tiếp với người dùng của bạn. Hầu hết các tác nhân người dùng bị điều chỉnh bởi các mục mà người dùng đã cài đặt và theo một thứ tự cụ thể, chúng gần như có thể nhận dạng cá nhân (một câu trả lời khác có một ví dụ hay về điều này xảy ra). Trên thực tế, EFF đã làm một nghiên cứu (pdf) về nó.
patridge

1
@patridge +1 cho liên kết, học tập rất tốt. Đó là một chủ đề hơi sai bởi vì họ nhìn vào một số dấu vân tay và không chỉ các chuỗi tác nhân người dùng. Trong kịch bản thế giới thực, đối với một trang web nhận được vài triệu lượt xem trang mỗi tháng, bạn sẽ kết thúc với một vài nghìn chuỗi tác nhân người dùng, do đó, việc chuẩn hóa có ý nghĩa IMHO. Như đã nói, tôi không tích cực lắm trong việc lưu trữ các chuỗi tác nhân người dùng trong cơ sở dữ liệu: P
Diadistis

@patridge Liên kết đến nghiên cứu hiện đã bị hỏng: liên kết được cập nhật
Boris Dalstein

1
@patridge Tôi đồng ý rằng ý tưởng của bạn nghe có vẻ hợp lý, nhưng dữ liệu của tôi không đồng ý với cả hai chúng tôi. Tôi hiện đang làm việc với chính xác loại hệ thống này và tôi có khoảng 70 nghìn UAs duy nhất cho 1,2 triệu người dùng. Lý do tôi ở trang này là vì tôi đã chọn 256 làm giới hạn cho trường cơ sở dữ liệu của mình và nhận thấy 50k trong số 70k đã bị cắt nên tôi đã mất một số thông tin. Tôi sẽ tăng nó lên 4k ngay bây giờ. Sẽ rất thú vị khi biết có bao nhiêu người sẽ là duy nhất nếu họ không bị cắt cụt
Darren H

10

Làm thế nào điều này cho lớn?:

Tìm kiếm Hệ thống9616306563; Tìm kiếmSystem6017393645; Tìm kiếm Hệ thống5219240075; Tìm kiếm hệ thống2768350104; Hệ thống tìm kiếm6919669052; Hệ thống tìm kiếm1986739074; Tìm kiếmSystem1555480186; Tìm kiếm hệ thống3376893470; Tìm kiếm Hệ thống9530642569; Tìm kiếm hệ thống4877790286; Tìm kiếmSystem8104932799; Tìm kiếmSystem2313134663; Tìm kiếm Hệ thống1545325372; Tìm kiếm Hệ thống7742471461; Tìm kiếm Hệ thống9092363703; Tìm kiếmSystem6992236221; Tìm kiếm Hệ thống3507700306; Tìm kiếmSystem1129983453; Tìm kiếmSystem1077927937; Tìm kiếm Hệ thống2297142691; Tìm kiếmSystem7813572891; Tìm kiếmSystem5668754497; Hệ thống tìm kiếm6220295595; Tìm kiếmSystem4157940963; Tìm kiếmSystem7656671655; Tìm kiếm hệ thống2865656762; Hệ thống tìm kiếm6520604676; Tìm kiếmSystem4960161466; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) Hệ thống tìm kiếm6919669052; Hệ thống tìm kiếm1986739074; Tìm kiếmSystem1555480186; Tìm kiếm hệ thống3376893470; Tìm kiếm Hệ thống9530642569; Tìm kiếm hệ thống4877790286; Tìm kiếmSystem8104932799; Tìm kiếmSystem2313134663; Tìm kiếm Hệ thống1545325372; Tìm kiếm Hệ thống7742471461; Tìm kiếm Hệ thống9092363703; Tìm kiếmSystem6992236221; Tìm kiếm Hệ thống3507700306; Tìm kiếmSystem1129983453; Tìm kiếmSystem1077927937; Tìm kiếm Hệ thống2297142691; Tìm kiếmSystem7813572891; Tìm kiếmSystem5668754497; Hệ thống tìm kiếm6220295595; Tìm kiếmSystem4157940963; Tìm kiếmSystem7656671655; Tìm kiếm hệ thống2865656762; Hệ thống tìm kiếm6520604676; Tìm kiếmSystem4960161466; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) Hệ thống tìm kiếm6919669052; Hệ thống tìm kiếm1986739074; Tìm kiếmSystem1555480186; Tìm kiếm hệ thống3376893470; Tìm kiếm Hệ thống9530642569; Tìm kiếm hệ thống4877790286; Tìm kiếmSystem8104932799; Tìm kiếmSystem2313134663; Tìm kiếm Hệ thống1545325372; Tìm kiếm Hệ thống7742471461; Tìm kiếm Hệ thống9092363703; Tìm kiếmSystem6992236221; Tìm kiếm Hệ thống3507700306; Tìm kiếmSystem1129983453; Tìm kiếmSystem1077927937; Tìm kiếm Hệ thống2297142691; Tìm kiếmSystem7813572891; Tìm kiếmSystem5668754497; Hệ thống tìm kiếm6220295595; Tìm kiếmSystem4157940963; Tìm kiếmSystem7656671655; Tìm kiếm hệ thống2865656762; Hệ thống tìm kiếm6520604676; Tìm kiếmSystem4960161466; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) Tìm kiếm Hệ thống7742471461; Tìm kiếm Hệ thống9092363703; Tìm kiếmSystem6992236221; Tìm kiếm Hệ thống3507700306; Tìm kiếmSystem1129983453; Tìm kiếmSystem1077927937; Tìm kiếm Hệ thống2297142691; Tìm kiếmSystem7813572891; Tìm kiếmSystem5668754497; Hệ thống tìm kiếm6220295595; Tìm kiếmSystem4157940963; Tìm kiếmSystem7656671655; Tìm kiếm hệ thống2865656762; Hệ thống tìm kiếm6520604676; Tìm kiếmSystem4960161466; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) Tìm kiếm Hệ thống7742471461; Tìm kiếm Hệ thống9092363703; Tìm kiếmSystem6992236221; Tìm kiếm Hệ thống3507700306; Tìm kiếmSystem1129983453; Tìm kiếmSystem1077927937; Tìm kiếm Hệ thống2297142691; Tìm kiếmSystem7813572891; Tìm kiếmSystem5668754497; Hệ thống tìm kiếm6220295595; Tìm kiếmSystem4157940963; Tìm kiếmSystem7656671655; Tìm kiếm hệ thống2865656762; Hệ thống tìm kiếm6520604676; Tìm kiếmSystem4960161466; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)


15
Đối với những người giữ điểm, đó là 1546 ký tự, bao gồm cả trích dẫn hàng đầu và dấu.
Doug Harris

6

Không có giới hạn đã nêu, chỉ có giới hạn của hầu hết các máy chủ HTTP. Tuy nhiên, hãy nhớ rằng tôi sẽ triển khai một cột có độ dài cố định hợp lý (sử dụng Google để tìm danh sách các tác nhân người dùng đã biết, tìm số lớn nhất và thêm 50%) và chỉ cắt bất kỳ tác nhân người dùng nào quá dài - ngoại trừ tác nhân người dùng dài có lẽ là đủ duy nhất ngay cả khi bị cắt, hoặc là kết quả của một loại lỗi hoặc "hack".


Trông giống như độ dài tiêu chuẩn là 120-150, dựa trên networkinghowtos.com/howto/common-user-agent-list . Do đó, tôi sẽ cắt chiều dài tối đa ở mức 200.
gen b.

4

Tôi đã nhận được tác nhân người dùng này ngày hôm nay, tràn ra trường lưu trữ của nhà cung cấp của chúng tôi:

Mozilla / 4.0 (tương thích; MSIE 8.0; Windows NT 5.1; Trident / 4.0; GTB6; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; MDDR; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

Nực cười! 229 ký tự?

Vì vậy, hãy lấy kích thước đó, nhân đôi nó, nhân đôi nó một lần nữa và bạn sẽ được đặt cho đến khi lỗi tiếp theo của Microsoft (có thể là vào năm tới).

Đi lớn hơn 1000!


Tôi tự hỏi .Net CLR và Trident phải làm gì với Mozilla
Gherman

3

Tôi sẽ cung cấp cho bạn câu trả lời tiêu chuẩn:

Lấy giá trị lớn nhất có thể mà bạn có thể tưởng tượng ra, nhân đôi nó và đó là câu trả lời của bạn.


heh vậy bạn nghĩ nó sẽ lớn đến mức nào?
JoshBerke 17/03/2016

1
Hai lần bất cứ điều gì tôi nghĩ đó là, tất nhiên. Mặc dù 256 có vẻ như là một số tròn đẹp để tăng gấp đôi.
Ed Marty 17/03/2016

4
Tôi thấy buồn cười bất cứ khi nào chúng ta không biết chiều dài tốt là gì, chúng ta luôn kết thúc với 256 hoặc bội số khác của 2.
JoshBerke 17/03/2016

2
Vâng 512 âm thanh tốt mang lại cho tôi ít nhất 10 năm phát hành .net và các thứ linh tinh khác để tích lũy và sau đó tôi hy vọng sẽ được nghỉ hưu. Cảm ơn một lần nữa
JoshBerke 17/03/2016

1
@Josh: "lúc đó tôi hy vọng sẽ được nghỉ hưu" ... tôi đã nghe thấy điều đó ở đâu trước đây?! ;-)
Cerebrus 17/03/2016

3

Giả sử chuỗi tác nhân người dùng không có giới hạn về độ dài của nó và chuẩn bị lưu trữ một giá trị như vậy. Như bạn đã thấy, chiều dài là không thể đoán trước.

Trong Postgres, có một loại văn bản chấp nhận các chuỗi có độ dài không giới hạn. Sử dụng nó.

Tuy nhiên, rất có thể, bạn sẽ phải bắt đầu cắt ngắn tại một số điểm. Gọi nó là tốt với mức tăng hợp lý hữu ích (200, 1k, 4k) và vứt bỏ phần còn lại.


2

Đây là một trong số đó là 257

Mozilla / 4.0 (tương thích; MSIE 8.0; Windows NT 5.1; Trident / 4.0; GTB6; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.2; .NET CLR 3.0.04506.648 ; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)


Tôi đã thấy tối đa 255 ký tự trên một trang web có lưu lượng truy cập rất thấp. Vì vậy, không đáng ngạc nhiên. .Net 4.0 cũng sẽ thêm 20 ký tự nữa.
JoshBerke

1

Không phải là một dấu hiệu cho thấy một tác nhân người dùng có thể nhận được lớn như thế nào, vì có rất nhiều câu trả lời cho thấy các trường hợp cạnh mà họ đã gặp, nhưng câu hỏi dài nhất có thể tìm thấy trên http://www.useragentopes.com/pages/useragentopes.php? Tên = Tất cả là 250 byte.

Mozilla / 4.0 (tương thích; MSIE 8.0; Windows NT 6.1; Trident / 4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Media Center PC 5.0; SLCC1; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; Lunascape 6.3.

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.