lelinhtinh / Userscript

Userscripts collection
http://devs.forumvi.com/f23-userscript
MIT License
152 stars 54 forks source link

Công nghệ chống copy của chương vip của TruyenYY #71

Closed lelinhtinh closed 4 years ago

lelinhtinh commented 4 years ago

Mấy bác cho em hỏi với. Truyenyy giờ có cái công nghệ chống copy của chương vip, kiểu nó tự chèn 1 thẻ html vào content. Các bác ai biết công nghệ kiểu đó keysearch là gì ko ạ???

Originally posted by @dragonlord4747 in https://github.com/lelinhtinh/Userscript/issues/24#issuecomment-663384260

lelinhtinh commented 4 years ago

Thường thì đọc được sẽ copy được.

dragonlord4747 commented 4 years ago

Thường thì đọc được sẽ copy được.

  • Khó nhất là kiểu render text thành image, dù vậy với công nghệ OCR hiện tại cũng lấy được khá nhiều nội dung. Hơn nữa lưu image sẽ ngốn thêm bandwidth và không responsive được, nên sẽ ít web muốn dùng cách này.
  • Ẩn một số từ, dùng css content để hiển thị. Cách này khi copy mà không để ý sẽ bị thiếu nội dung, nhưng vẫn có cách tải được. Chèn thẻ HTML bạn nói có thể là cách này, mình không có acc VIP nên không kiểm tra được. Nếu đúng là nó thì nội dung sẽ nằm trong attribute của thẻ đó, hoặc nếu họ dùng class thì sẽ có một thẻ style chứa content cho class đấy.
  • Các kiểu chặn khác bằng JavaScript khác như disable text selection, override copy, ... thì rất dễ vượt qua.

Dạ em cảm ơn .Trang kia nó load từ api ra nên em muốn bắt chước mà ko hiểu nó lm kiểu gì. :(((((

lelinhtinh commented 4 years ago

Trước đây mình có viết một plugin hidetext cho kết quả tương tự (demo), nhưng thường thì người ta render trên server.

Mình không rõ có thư viện nào làm việc này không, nhưng nguyên lý cơ bản khá dễ:

dragonlord4747 commented 4 years ago

Trước đây mình có viết một plugin hidetext cho kết quả tương tự (demo), nhưng thường thì người ta render trên server.

Mình không rõ có thư viện nào làm việc này không, nhưng nguyên lý cơ bản khá dễ:

  • Replace một từ hoặc cụm từ thành thẻ HTML <span class="hidden-text" data-text="một từ hoặc cụm từ"></span>.
  • Thêm vào CSS: .hidden-text:after{content:attr(data-text)} Vâng, để em thử nghiên cứu theo hướng này xem.
lelinhtinh commented 4 years ago

Còn vài kiểu khác mình gặp khi tải truyện:

lelinhtinh commented 4 years ago

@dragonlord4747 Nay mới có dịp ngó code chương VIP của truyenYY, nó là kiểu chèn code rác vào nội dung chương và chặn copy. Kiểu này giống truyenCV trước đây, nhưng họ chỉ chèn 1 chuỗi nhỏ chứ không toàn bộ chương như truyenYY. Nguyên lý cũng là split string và replace thôi.

Mình thấy nó chỉ có tác dụng duy nhất là làm chậm tải, do chương vip bị chia làm 3 phần, phải tốn đến 4 request mới tải xong. Nên nhiều khả năng là code chay chứ không có thư viện hay thuật toán nào đâu.

dokthancau commented 3 years ago

với trang wikidich chống ddos cua cloudflare thì vượt qua thế nào đc bạn? 🍡

lelinhtinh commented 3 years ago

với trang wikidich chống ddos cua cloudflare thì vượt qua thế nào đc bạn?

Đừng DDoS nó thì tải bình thường thôi, khi nào bị block thì delay vài giây rồi tải lại. Nếu delay tầm 2 phút mà còn không được nữa thì chắc hẳn do bạn cào web họ quá nhiều rồi, lúc đó phải tính đường khác chứ script không giải quyết được đâu.

dragonlord4747 commented 3 years ago

giờ em mới giở xem code của bác. Bác cho e hỏi sử dụng như nào ấy ạ???

Vào Th 6, 7 thg 8, 2020 vào lúc 01:53 Thành Thân Thiện < notifications@github.com> đã viết:

@dragonlord4747 https://github.com/dragonlord4747 Nay mới có dịp ngó code chương VIP của truyenYY, nó là kiểu chèn code rác vào nội dung chương và chặn copy. Kiểu này giống truyenCV trước đây, nhưng họ chỉ chèn 1 chuỗi nhỏ chứ không toàn bộ chương như truyenYY. Nguyên lý cũng là split string và replace thôi.

Mình thấy nó chỉ có tác dụng duy nhất là làm chậm tải, do chương vip bị chia làm 3 phần, phải tốn đến 4 request mới tải xong. Nên nhiều khả năng là code chay chứ không có thư viện hay thuật toán nào đâu.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/lelinhtinh/Userscript/issues/71#issuecomment-670133191, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONTA3K4RJUXAJ7ULSBRTF3R7L3ZHANCNFSM4PGO6IAA .

lelinhtinh commented 3 years ago

Tải hết 3 phần, lọc code rác rồi nối lại. https://github.com/lelinhtinh/Userscript/blob/931d49fe8eab7683a70e51cd691b0c53961c9034/truyenYY_downloader/truyenYY_downloader.user.js#L80-L119

dragonlord4747 commented 3 years ago

là trực tiếp dán vào vào console của trình duyệt hay cài kiểu extension ạ???

lelinhtinh commented 3 years ago

Cài kiểu extension, như trước khi cài script bạn cần cài một trình quản lý userscripts, ví dụ: Violentmonkey.

dragonlord4747 commented 3 years ago

em cảm ơn ạ

Vào Th 3, 16 thg 3, 2021 vào lúc 14:14 Thành Thân Thiện < @.***> đã viết:

Cài kiểu extension, như trước khi cài script bạn cần cài một trình quản lý userscripts, ví dụ: Violentmonkey https://violentmonkey.github.io/get-it/.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/lelinhtinh/Userscript/issues/71#issuecomment-800015546, or unsubscribe https://github.com/notifications/unsubscribe-auth/AONTA3IVC6PUN4AHCAXOOETTD4ALVANCNFSM4PGO6IAA .