2013-01-29 37 views
15

Gần đây tôi đã thực hiện một số công việc thiết kế web cho một người. Tôi tiếp tục cho anh thấy sự tiến bộ bằng cách cho anh ta một liên kết đến trang web mới của anh ấy trên máy chủ phát triển của tôi. Gần kết thúc hoàn thành, anh ta đã bỏ tất cả liên lạc với tôi và tôi hoàn toàn không thể giữ anh ta. Gần đây tôi đã xem xét trang web của anh ấy và anh ấy đã kết hợp trang web cũ của mình với trang web mới tôi đã tạo. Tôi nghĩ có lẽ anh ấy đã thiết kế lại nó sau khi xem phiên bản của tôi, tuy nhiên, nhìn nhanh mã nguồn của anh ấy cho thấy các phần tôi nhận ra đã được sao chép chỉ bằng cách xem mã nguồn trên máy chủ dev của tôi. Vì vậy, ông hoàn toàn cứng rắn tôi và tôi đã không nhận được thanh toán từ anh ta.Ngăn chặn HTML Mã nguồn Ăn cắp

Chỉ cần tự hỏi liệu có cách nào để ngăn chặn điều đó trong tương lai không?

Suy nghĩ đầu tiên của tôi là làm xáo trộn, nhưng tìm kiếm nhanh cho thấy việc thực hiện điều đó với html không được khuyến nghị và cũng không phải là điều ngu xuẩn.

Rõ ràng đây là bài học rút ra cho tôi để có được một số loại thanh toán trước, nhưng có thể ngăn việc làm dễ bị đánh cắp trong tương lai sẽ tốt đẹp.

Có bất kỳ nhà phát triển nào gặp phải vấn đề tương tự không? Làm thế nào để bạn thể hiện một người nào đó tiến bộ công việc của bạn mà không cho họ dễ dàng như ngày truy cập vào nguồn của bạn?

+15

Một từ: hợp đồng –

+8

Chỉ cần viết mã thực sự xấu. Bằng cách đó, không ai sẽ muốn ăn cắp nó :) Hoặc một NDA. –

+0

Bạn có thể cân nhắc việc đăng bài này lên các lập trình viên (http://programmers.stackexchange.com/) chứ không phải SO trong tương lai, mặc dù câu hỏi này nằm trong một khu vực màu xám. – AlexMA

Trả lời

6

IMHO một cách hay sẽ là bản trình bày, ví dụ: với TeamViewer hoặc phần mềm tương tự khi bạn không thể đến khách hàng của mình.

Bạn cũng có thể cung cấp ảnh chụp màn hình hoặc truy cập từ xa cơ bản với vnc hoặc hơn, nơi khách hàng của bạn có thể nhìn thấy nhưng không phải chạm vào trang web.

+0

Tôi đã có một thời gian * khách hàng * cần một mẫu thử nghiệm cho ngân hàng của mình. Vì vậy, tôi xây dựng một trang giả với đầy đủ chức năng (chỉ là giao diện người dùng cho khách hàng) miễn phí, tôi nghĩ tôi sẽ kiếm được một công việc cho trang thực. Sau đó, tôi nghe nói 7 tháng sau đó một lần nữa từ người mà nói với tôi hạnh phúc rằng trang bây giờ là trực tuyến và sẵn sàng cho khách hàng. Thật là tuyệt! Tôi nên phản ứng thế nào đây !? – rekire

+2

Gửi hóa đơn cho họ. – iambriansreed

+0

Tôi thích ý tưởng truy cập từ xa. Tôi ước gì tôi đã cân nhắc điều đó trước đây. Ảnh chụp màn hình là những gì tôi đã suy nghĩ về trong tương lai, nhưng tôi có lẽ sẽ thiết lập một máy ảo cho TeamViewer chỉ với khả năng truy cập máy chủ dev của tôi. Cám ơn vì sự gợi ý!! – Badams

-3

Bạn có thể chỉ cần chạy trang web trên máy tính xách tay hoặc đặt toàn bộ trang web phía sau trang đăng nhập yêu cầu mật khẩu. Bạn sẽ có thể thực hiện bản trình diễn trực tiếp nhưng khách hàng sẽ không có quyền truy cập vào trang web cho đến khi bạn được thanh toán.

+3

Điều này sẽ không nhất thiết ngăn chặn việc ăn cắp mã nguồn HTML/CSS. Cụ thể, ẩn đằng sau đề xuất đăng nhập. – Jeremy1026

+0

@ Jermey1026 - Tôi đã nghĩ về câu hỏi về Java, cho phép bạn đặt JSP/HTML trong WEB-INF, không thể truy cập được nếu bạn không đi qua servlet đăng nhập. – Shane

-1

Có thể mã hóa mã nguồn của bạn bằng javascript. Hãy thử trang web này: http://www.iwebtool.com/html_encrypter Tôi không bao giờ sử dụng công cụ này bản thân mình và tôi không biết nếu mọi thứ hoạt động tốt, nhưng tôi nghĩ rằng đó là giá trị cho một shot. Bạn luôn có thể tải lên mã nguồn bình thường sau khi được thanh toán. Ngoài ra, hãy đảm bảo rằng bạn có thông tin liên hệ phù hợp với khách hàng của mình trong tương lai. Tôi cũng khuyên bạn nên sử dụng hợp đồng trong tương lai để khách hàng của bạn được liên kết hợp pháp để thanh toán cho bạn. Một tùy chọn có thể khác là cho khách hàng của bạn không có gì ngoài một ảnh chụp màn hình của trang web, nhưng tất nhiên trang web của bạn sẽ trở thành tĩnh.

+0

Không có cách nào để "đáng tin cậy" mã hóa HTML/JavaScript. Khi nó chạm vào trình duyệt của tôi, tôi có thể kiểm tra DOM và lấy mã nguồn của bạn. P.S. Tất cả "công cụ" đó là: 'document.write (unescape (...))'. –

0

Bạn có thể làm gì, sử dụng HTML Image Maps với ảnh chụp màn hình để tạo phiên bản tương tác cơ bản của sản phẩm cuối cùng.

+0

Thực ra tôi chưa bao giờ nghĩ về điều đó! Tôi có thể phải xem xét điều này cho bất kỳ dự án lớn trong tương lai, nhưng sự đồng thuận chung dường như là để có được tất cả mọi thứ bằng văn bản, mà tôi nhận ra tôi thực sự cần phải làm anyway. Cám ơn vì sự gợi ý! – Badams

6

Các câu trả lời khác ở đây chỉ là một tập hợp các hack có thể được hoàn tác.

Phía máy khách, HTML, CSS và JS được tạo thành từ tất cả các công nghệ nguồn mở. Mặc dù bạn có thể dành nhiều thời gian cố gắng làm xáo trộn mã phía khách hàng của bạn, nhưng đặt cược tốt nhất của bạn chỉ là thực hành logic nghiệp vụ tốt hơn.

Các tùy chọn mở rộng rãi để bảo vệ mã phía máy chủ nhưng câu hỏi của bạn dường như tập trung vào mã phía máy khách.

Đối với các khách hàng đáng tin cậy cũng được thành lập, tôi linh hoạt hơn nhiều nhưng khách hàng mới tôi cực kỳ cẩn thận. Tôi yêu cầu các khoản thanh toán lũy tiến. Đối với mỗi giao hàng có một khoản thanh toán liên quan. Bằng cách đó, nếu mối quan hệ bị cắt đứt thì cả hai bên đều có những gì họ muốn.

Khi bạn tạo cho mình một dấu ấn dễ dàng cho những kẻ lừa đảo, bạn chỉ thu hút những kẻ lừa đảo.

+0

Vâng, tôi nhận ra rằng logic kinh doanh tốt hơn là câu trả lời, không may là có điều gì đó tồi tệ đã xảy ra để tôi học được điều đó. Bạn có thể làm rõ về loại bảo vệ nào trên mã phía máy chủ không? Thông thường tôi phát triển trong php và làm cho nó đầu ra html. Trong khi php là một mã phía máy chủ, nó vẫn xuất ra html thuần túy như xa như phía khách hàng là có liên quan. Có lẽ tôi không hoàn toàn hiểu được nơi bạn đi với điều đó? – Badams

+0

@Badams Để bảo vệ PHP, bạn muốn có [PHP Obfuscator] (https://www.google.com/search?q=PHP+Obfuscator). Tôi đã học bài học một cách khó khăn. Không sao cả khi họ khác nhau. – iambriansreed

0

Sử dụng trang web có dịch vụ ký quỹ hoặc dịch vụ giống như ký quỹ, nơi người chủ thanh toán toàn bộ số tiền trả trước cho trang web và nó sẽ chỉ được phát hành cho người lập mã sau khi đạt được mục tiêu được xác định trước.

Nhiều trang web tự do cung cấp dịch vụ này.

+0

Bạn có bất cứ đề xuất nào về các dịch vụ thực hiện việc này không? Tôi muốn xem xét thêm. Tôi thường chỉ được thuê qua truyền miệng nên hầu hết là tiền mặt và tôi chưa từng gặp vấn đề gì trước đây. – Badams

+0

@Badams, elance.com, odesk.com - một trang web đẹp mắt là freelancer.com và có phí từ 3% đến 10% dựa trên loại thành viên của bạn - bạn có thể google "danh sách các trang web tự do". – sharp12345

-2

Tôi đã xây dựng một công cụ thực sự mã hóa các nguồn JS của bạn - không có sự tối tăm đơn giản bằng cách làm xáo trộn, nhưng bảo mật tốt bằng mã hóa.

Xem cách hoạt động tại đây: http://ec2-176-34-64-10.eu-west-1.compute.amazonaws.com/nopro/xscroll - đó là bản trình diễn chỉ để ẩn tập lệnh xscroll.js.

Khi bạn kiểm tra DOM trong ứng dụng khách, tất cả những gì bạn thấy là: nplreq(url) cho mỗi tập lệnh bạn liên kết vào HTML head.

Mã hóa và giải mã hoàn toàn minh bạch đối với trình duyệt. Nó được thử nghiệm với Firefox, Chrome, Opera, Konqueror, IE8-10, Dolphin và Safari trên máy tính bảng Android.

Mã hóa bằng AES (Rijndael 256) sử dụng các phím một lần được thương lượng giữa máy chủ khách và (liblock-) sử dụng Diffie-Hellman.

Các nguồn được ẩn an toàn và chỉ với những nỗ lực thực sự tuyệt vời mà chúng có thể được tiếp cận lại.

+1

Nguồn bị ẩn khi bạn không thực thi chúng. Tôi có thể thấy nguồn với Firebug dễ dàng. – nhahtdh

+0

không, bạn không thể. Điều duy nhất mà bạn thấy có init của liblock.php và không có gì khác. Init chỉ giữ các base64-, bigint-, diffie-hellman- và aes-functions. – wowei

+0

Có, bạn không thể ăn cắp trực tiếp dễ dàng (bằng cách xem mã nguồn và các chất liệu), nhưng một plugin tốt có thể lấy mã eval. Điều này trông giống như xscroll.js: http://pastebin.com/im2p7fpK (và tất cả điều này mất 10 giây) – nhahtdh

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