30/09/2018, 17:37
Trong lập trình web, tốc độ quan trọng hơn hay tính bảo mật quan trọng hơn?
Chào mọi người mình xin đưa ra một vấn đề thảo luận đó là
"trong lập trình web , tốc độ quan trọng hơn hay tính bảo mật quan trọng hơn ?"
- mình làm chức năng kiểm tra, thi trắc nghiệm , để đảm bảo tính bảo mật mình đã gom hết bài làm của người dùng về phía Server để xử lý , sau đó bắn trả kết quả làm bài về client , thuật toán sẽ khó hơn xử lý trên client và tốc độ sẽ chậm đi . nhưng mình vẫn thấy ok .
- Cho đến khi 1 đàn anh trong ngành khuyên mình nên để xử lý tất cả ở trang client , tức là sẽ hidden dữ liệu và so sánh ngay trên trang view , như vậy sẽ dễ hơn và tốc độ cũng nhanh hơn , bất chấp việc người dùng có thể ấn F12 , xem nguồn trang và biết đáp án .
- Lý do của anh ấy là : nếu có 100 người cùng test mà server xử lý nặng thì web sẽ chậm rất nhiều .
Nếu là các anh/bạn/chị/ em thì mọi người sẽ làm gì ? chọn tốc độ hay bảo mật thông tin ? cùng góp ý và thảo luận nhé .
Bài liên quan
Tùy nhiệm vụ, liên quan đến túi tiền của mình thì phải ưu tiên bảo mật, nếu chỉ là bài trắc nghiệm vui thì ưu tiên tốc độ.
Nếu có nhiều người vào test thì hãy…nâng cấp server :D.
Câu trả lời của anh là còn tùy vào mục đích của trang web. Nếu em đi làm thuê, mục đích sẽ do khách hàng quyết định. Còn em tự làm cho mình thì mục đích sẽ là do em quyết. Em muốn che giấu thông tin thì làm theo cách của em. Còn không thì làm theo cách thứ 2.
Em còn đi học tốt nhất là nên chơi được cả 2 cách.
uhm , mình làm chức năng trắc nghiệm của mình giúp người dùng test kiểm tra năng lực , sau đó còn lưu lại kết quả đánh giá kết quả học tập nữa , nếu APP này được áp dụng cho trường học thì nó không vui tí nào
Phải hài hòa 2 cái này thôi http://www.hvaonline.net/hvaonline/posts/list/41260.hva
em đang làm dự án thật mà . thì cũng đang làm chống đối bằng cách chuyển dữ liệu thành kiểu base64 , sau đó lưu vào trong hidden file đây . nhưng chắc là sau này áp dụng thực tế thì phải nâng cấp server thôi .
Trong js cũng có mã hóa MD5 đấy. Đầu tiên thì server sẽ gửi câu hỏi cùng với chuỗi MD5 (đáp án + session), người ta làm xong, lưu kết quả thì dùng js chuyển sang MD5 (đáp án + session), sau đó so sánh và tính ra kết quả. Mặc dù nếu biết quy tắc mã hóa thì sẽ có cách tra ra, nhưng khó khăn hơn là để đáp án sờ sờ ra ngoài. Ví dụ kết hợp thêm IP, tên trình duyệt, hệ điều hành, … vào MD5 thì khỏi tra.
Ps: Lúc nào gặp trường IT thì mới phải lo chứ.
giờ nút f12 thông dụng lắm kiểu md5 hay đấy , để nghiên cứu xem sao .
Không cần cao siêu, mã hóa a thành c, b thành d, d thành a, c thành b cho những đứa biết xem mã html rớt chơi haha.
Just kidding.
chắc chết quá
Nếu vậy thì làm mã băm để mã hóa kết quả
Nếu làm hàm băm cho tất cả kết qủa, như thế thì kết quả của học sinh phải đúng hết mới kiểm tra được
nếu làm mỗi câu một hàm băm thì có vẻ ko ổn
muốn kiểm tra luôn trực tiếp , run time thì đó là kiểu luyện tập kiến thức rồi , không phải test ạ . mà các chọn xong bắn ra luôn là đã đúng hay sai thì vẫn phải để dữ liệu ở client chứ anh ( thao tác với server cũng đc , nhưng sẽ lại chậm )
Chỉ tải kết quả về khi người dùng nhấn nút kiểm tra thôi, kết quả lúc đó không cần mã hóa cũng được nếu muốn hiển thị đáp án cho người ta xem. Còn nếu chấm điểm cho một cái gì đó liên quan đến xếp hạng / thực tế thì luôn phải xử lý ở server, không nên xử lý ở client rồi mới gửi điểm từ client lên server.
bảo mật luôn đặt lên hàng đầu, tốc độ cải thiện sau cũng được
Ờ nhỉ, dù mã hóa lằng nhằng thế nào thì chỉ cần can thiệp lúc gửi điểm cũng như không.
Ps: Có lần ngồi quởn cũng thử viết Tạo bảng trắc nghiệm bằng Javascript.
SSL (20 chars… )
Bài toán của mình rất rắc rối trong việc lấy kết quả . Nếu lúc click lấy dữ liệu kết quả từ server thì mình đã làm rồi . Và nó sẽ chậm như rùa nếu có tầm 100 người dùng. Thanks you vì góp ý . Hi .
Cảm ơn mọi người vì chia sẻ kiến thức . Túm lại mình dùng md5 để mã hóa . Có nghĩ là giữa tốc độ và bảo mật cần hài hòa , tìm cách để cân bằng cả 2 . Đó là ý hiểu của mình . Thanks all . Hi
Cũng tuỳ mục đích của ứng dụng thì mới quyết định được, mình nghĩ nên phân loại ra những dữ liệu nên giữ ở client, những dữ liệu nên để ở server thì sẽ tốt hơn.
Client luôn là môi trường không bảo mật dù bạn có dùng bất kỳ hình thức nào để bảo vệ dữ liệu.
Chắc chắn không phải cứ gửi dữ liệu đến server xử lý thì được coi là bảo mật. Các website truyền thống hầu hết dữ liệu đều được render bằng server và dữ liệu cũng được gửi đến server để xử lý và vẫn không bảo mật như thường.
Cá nhân mình thấy là như vậy! Mọi người thảo luận thêm nào