Trang 3 / 3 FirstFirst 123
Hiển thị kết quả từ 21 đến 26 / 26
  1. #21
    Tham gia
    23-03-2008
    Bài viết
    1
    Like
    0
    Thanked 0 Times in 0 Posts
    Quote Được gửi bởi hcubiu View Post
    nói như dq_ninh thì chắc hacker xâm nhập được vào ổ cứng lưu web ấy nhỉ =)) funy vãi
    thế theo như bạn nghĩ hacker là cái gì ?

  2. #22
    Tham gia
    05-09-2007
    Location
    TP Hoa phuong do
    Bài viết
    655
    Like
    0
    Thanked 12 Times in 6 Posts
    encrypt connection string là chuẩn rồi cãi gì nữa mà cãi.

  3. #23
    Tham gia
    26-06-2007
    Bài viết
    275
    Like
    2
    Thanked 40 Times in 33 Posts
    kakaka...
    Tất nhiên web.config là cách linh động nhất để ấn định thông số cho ứng dụng rồi, nó cũng giống như config.php hay wp-config.php vậy, nhưng nó được phía server "giữ kỹ" nhất có thể

    Cũng xin thưa các bác là encrypt cái web.config không hề tăng thêm 1 chút secure nào trên server side cả mà để secure nó against các đồng nghiệp trong cái team/phòng phát triển thôi, mà cty nào chẳng có loại này. Tại sao vậy? nếu hacker tấn công vào một ms-server bằng cách canh me cái chập chờn của ms mà lựm web.config về nghe mắc cừ quá , vậy các bác cũng đoán được khi lấy đc web.config thì đã đứng ở đâu rồi chứ. Lại nữa, cái để decrypt ko nằm trong dll của người dùng thì cũng thuộc 1 add-in hệ thống, cũng chẳng cần bận tâm dịch ngược, mà dịch ngược managed dll đâu có khó, nhưng thả 1 chút xíu nguyên code .cs hay .vb để hòa vào cái app đó thì dễ hơn, ms đâu có cấm, thứ gì mà dump chẳng được. keke

    Quote Được gửi bởi dq_ninh View Post
    Còn cái chuyện để username/password trong config file, thật ra là một chuyện tầm phào/bố láo mà bất cứ một học sinh trung học đã học qua lập trình đều biết, đừng nói tới một lập trình gia chuyên nghiệp. Chỉ duy nhất một điều là hầu hết các admin của SQL cũng như của Windows đều theo quy tắc an toàn là bắt buộc các users phải thay đổi password mỗi tháng, hay ít nhất là ba tháng một lần. Không lẽ mỗi lần thay đổi password là mỗi lần phải vào sửa đổi config file?

    Nói tới hackers, nhiều người cứ nghĩ đến những source code có khả năng truy tầm password. Nhưng thật sự ra, 98% những tay hacke tìm ra được passwords mà không dùng bất cứ một phần mềm nào.

    Nói tới source code security là nói tới một phần mà có lẽ, phải học cả năm trời cũng chưa biết hết.
    Đọc tới đây như chợt thấy mặt trời,
    Đồng ý vì đã học 6 năm - nhiều bậc cũng chưa thấy biết gì ráo.

    Quote Được gửi bởi dq_ninh View Post
    Chẳng hạn như khi dùng một tham biến từ dạng char* trong C/C++, một chuyên gia về security cũng không bao giờ dùng tới một chuỗi char chấm dứt bằng null(0). Tại sao vậy? Tại vì các tay hackers có thể thay đổi các tham biến từ thuộc dạng chuỗi đó khi phần mềm đang chạy. Và đây chính là lý do tại sao Microsoft phải thay đổi tất cả các hàm string của họ trong C/C++ như strcpy, strcat qua strcpy_s, strcat_s, vận vân...
    Ôi trời ơi;
    (1) Phải chi bà con đang bàn cái vụ sql injection mà bác cho cái ví dụ trên thì còn kiêng nễ, thôi bỏ quá cũng được.
    (2) Nghe câu: "một chuyên gia về security cũng không bao giờ dùng tới một chuỗi char chấm dứt bằng null(0)" thì tôi giật cả mình; trong c/c++ mà ko dùng 0 kêt thúc chuỗi thì chẳng lẽ kết thúc chuỗi bằng con mắt à? Thêm nữa, bạn nên xem cách lợi dụng copy tràn vùng đệm để gửi mã độc nhé. Cũng xin thưa bạn là cái đám hàm c/c++ ***_s là do microsoft đẻ ra phục vụ cho những kẻ viết c/c++ bất cẩn. Thêm nữa, c/c++ đâu phải chỉ có ở windows, các hđh khác cũng dùng cả đấy thôi; ko bắt chước thêm hàm ***_s chẳng lẽ các hđh khác hỏng hết à? Xin nhắc là tại sao tôi nói 'những kẻ viết c/c++ bất cẩn'; lấy ví dụ viết web nhé, csdl MySql có trường họ tên 30 ký tự, cái php page cho người dùng nhập tên để lưu, thằng user nó nghịch nhập cái tên 100 ký tự, ko kiểm tra gì cả mà cứ thế tạo nguyên con sql statement tán vào database, nó báo lỗi. chưa nói đến trường hợp nó nhập 1 đoạn script, 1 thằng user vô tôi khác vô xem tên bị dẫn đi đâu đấy... đấy là người viết php bất cẩn
    Quote Được gửi bởi dq_ninh View Post
    Tất cả chúng ta đều vào đây để cùng học hỏi. Các bạn học hỏi, và tôi cũng học hỏi. Không ai có biết biết hết được tất cả. Cái chuyện để mật mã đó là tuyệt đối không nên làm, và tôi biết chắc chắn rằng như thế. Nhưng nếu có một vài bạn nào đó thích làm chuyện đó, thì cứ việc làm, đâu có ai cấm cản, đúng không?
    Đúng, có thể bạn biết nhờ đọc lóang thoáng ở đâu đó, hoặc nhờ ai đó nói qua cho nghe nhưng thực sự bạn chưa hiểu đến ngọn nguồn. Rất cần học hỏi thêm.

  4. #24
    Tham gia
    26-06-2007
    Bài viết
    275
    Like
    2
    Thanked 40 Times in 33 Posts
    Quote Được gửi bởi hungtvht View Post
    Mình mới làm quen lập trình với ASP.NET. Vấn đề mình muốn hỏi ở đây là làm sao để khai báo một biến toàn cục để các trang có thể sử dụng mà không cần phải khai báo từ đầu. Ví dụ như một biến kết nối vào CSDL:

    Dim myConnection As OleDbConnection
    myConnection = New OleDbConnection(ConnStr)

    Mình muốn khai báo biến myConnection để tất cả các trang có thể sử dụng không cần phải khai báo lại từ đầu.
    Bạn nào biết xin chỉ giáo. Cảm ơn nhiều!
    .net tuyệt đối là OOP, vì vậy ko có chuyện thả 1 biến kinh điển nằm lang thang; tất cả phải đóng gói vào lớp và thể hiện ra bằng đối tượng. Nếu bạn có khả năng quản lý ứng dụng theo các mức lớp đối tượng thì bạn có thể đặt biến như property trong 1 lớp đối tượng cụ thể; ví dụ biến đó có thể đặt và dùng trong 1 thread thì lớp Page của trang web là quá đủ. Nhưng nếu liên quan events (cái này LAMP ko có) ngoài page (Render after the page generated) thì dùng lớp Application, nếu xuyên application thì dùng httpHandler. Nếu bạn thấy như thế rối quá thì làm 1 lớp static để khai thác ở đâu cũng được, hoặc ẹ quá cho vào session.
    Riêng về connection, bạn biết tại sao MS nó khoe cái công nghệ databases connectionless này rồi chứ; tốt nhất là: mở ra - dùng ngay - đóng lại nhanh chóng, đừng có để cái connection object lê la, nên nhớ bạn đang lập trình web, mà website chắc ko phải chỉ có 1 người. Nếu 1 ngày bạn thuê cái shared economy hosting của godaddy nó cho 50 concurrent connections mỗi lúc thì bạn sẽ điên đầu vì cái cách bạn đang muốn làm đấy.

    PS. Bạn để ý trong các lệnh tạo object dùng dbconnection, ms nó thòng thêm 1 option trong tham số thứ 3 hay 4 gì đó, giúp tự động đóng db connection khi đối tượng sử dụng bị clear.

  5. #25
    Tham gia
    29-07-2010
    Bài viết
    65
    Like
    4
    Thanked 11 Times in 10 Posts
    Quote Được gửi bởi hungtvht View Post
    Mình mới làm quen lập trình với ASP.NET. Vấn đề mình muốn hỏi ở đây là làm sao để khai báo một biến toàn cục để các trang có thể sử dụng mà không cần phải khai báo từ đầu. Ví dụ như một biến kết nối vào CSDL:

    Dim myConnection As OleDbConnection
    myConnection = New OleDbConnection(ConnStr)

    Mình muốn khai báo biến myConnection để tất cả các trang có thể sử dụng không cần phải khai báo lại từ đầu.
    Bạn nào biết xin chỉ giáo. Cảm ơn nhiều!
    theo mình thì việc khai báo toàn cục như bạn hungtvht là bạn í thấy việc open connection phải sử dụng đi sử dụng lại nên muốn khai báo 1 biến toàn cục để đỡ mất công khai báo --> giảm code. việc này bạn hoàn toàn có thể sử dụng trong Global.asax (có thể khai báo trong session start hoặc application start) tùy theo nhu cầu của bạn bạn có thể tìm hiểu thêm Global.asax (xem thêm tại http://msdn.microsoft.com/en-us/library/2027ewzw.aspx)

    Tuy nhiên việc khai báo như vậy sẽ dẫn đến việc open connection đến CSDL nếu không quản lý các connection này sẽ dẫn đến việc connection không được giải phóng --> web sẽ chạy chậm hoặc nặng hơn là sẽ bị treo cả hệ thống. bạn nên xem thêm bộ dọn rác của .net (garbage collection) và tại sao connection không tự hủy nhé.

    Cho nên theo mình thì nên thực 1 class quản lý connection đến CSDL (open, close) sau đó chỉ kế thừa là xong (các project sau cứ copy class này vào là xong)

  6. #26
    Tham gia
    29-11-2007
    Bài viết
    111
    Like
    18
    Thanked 11 Times in 11 Posts
    Theo thiển ý của tôi thì nếu đã truy cập vào được File System để đọc nội dung file web.config thì dù có giấu connection string chỗ khác rồi cũng sẽ bị moi ra, bạn có mã hóa thì rồi cũng phải giải mã, hacker chỉ việc chèn 1 câu lệnh vào trang ASP.NET thì sẽ truy cập được giá trị đã mã hóa thôi.
    Nếu việc truy cập vào hệ thống dễ dàng vậy thì dùng Windows Authentication có khi còn nguy hiểm hơn, vì khi đó hacker muốn làm gì cũng được.

Trang 3 / 3 FirstFirst 123

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •