Theo hiểu biết tốt nhất của tôi, bạn không may mắn với điều này. Tạo ra 'mã hóa' PHP là một công việc kinh doanh và các giải pháp nguồn mở cũng sẽ không/không cắt giảm nó (từ những giải pháp tôi tìm thấy, tôi mất chưa đầy 10 phút để đánh bại họ vì tất cả những gì họ thực sự làm là viết mã . Thay thế Show
IonCube vẫn còn khá khó bị đánh bại, bạn phải trả cho ai đó từ $5 - $8 cho mỗi tệp để giải mã nó. Nếu bạn có nhiều tệp. đây là rào cản tài chính. Họ cũng có các tùy chọn cấp phép để bạn có thể ngăn mã được sao chép/dán vào các máy chủ khác và chỉ cần chạy nguyên trạng Làm thế nào để bảo vệ mã nguồn PHP? . Nhiều nhà phát triển PHP cần bảo vệ mã nguồn ứng dụng của họ trước khi phân phối nó cho khách hàng của họ và gây khó khăn cho những người khác sửa đổi nó mà không có sự cho phép của họ. Nếu bạn là một nhà phát triển như vậy thì hướng dẫn này sẽ giải thích cách sử dụng bộ mã hóa PHP để bảo vệ mã nguồn của bạn. Tôi cũng sẽ trình bày cách sử dụng bộ mã hóa phpBolt bằng một ví dụ Các phương pháp bảo vệ mã nguồn PHPCó một số kỹ thuật để bảo vệ mã nguồn PHP
Kỹ thuật đầu tiên liên quan đến thu nhỏ và che giấu - điều này làm cho mã rất khó đọc. Quá trình thu nhỏ liên quan đến việc xóa nhận xét của nhà phát triển, khoảng trắng và ngắt dòng. Tuy nhiên, các định danh có ý nghĩa (tên biến, tên hàm, lớp, ký hiệu PHP tích hợp) được sử dụng trong mã có thể giúp người thứ ba hiểu mã mà không tốn nhiều công sức và nếu không, chỉ mất vài phút để giảm thiểu mã. Tuy nhiên, khả năng đọc có thể thực sự khó khăn khi thu nhỏ được kết hợp với che giấu. Việc che giấu liên quan đến việc đổi tên các mã định danh có ý nghĩa bằng các tên khó hiểu ngẫu nhiên, do đó làm cho mã nguồn khó đọc và khó hiểu. Có một số công cụ có sẵn trực tuyến để thu nhỏ và làm xáo trộn mã PHP Ví dụ làm xáo trộn Mã nguồn gốc <?php function get_username() { echo "henry"; } get_username(); ?> Một mã bị xáo trộn sẽ giống như dưới đây <?php function xyz123() { echo "henry"; } xyz123(); ?> Từ mã bị xáo trộn ở trên, bạn sẽ thấy tên hàm <?php function xyz123() { echo "henry"; } xyz123(); ?>2 bị xáo trộn thành một tên vô nghĩa chẳng hạn như <?php function xyz123() { echo "henry"; } xyz123(); ?>3 Cảnh báo
Phương pháp thứ hai liên quan đến việc mã hóa mã nguồn và phân phối gói được mã hóa cho khách hàng. Nhưng phương pháp này yêu cầu một trình tải hoặc tiện ích mở rộng được tải tại trang khách để giải mã các tệp nguồn PHP được mã hóa. Có rất ít bộ mã hóa PHP thương mại có sẵn trên thị trường với giá dao động từ $250 đến $600 Danh sách các bộ mã hóa PHPTênNền tảng được hỗ trợCác phiên bản PHP được hỗ trợObfuscationEncodingPriceZendWin, Linux, MacPHP v5. 0 +YY$600/nămCubeWin, Linux, BSD miễn phí, OS XUpto PHP 7. 2YY$255-$509SourceGuardianWin, Linux, BSD miễn phí, OS XPHP 4-7. 3NY$199NuCoderWinPHP 4. x & 5. xYN$299Cả hai kỹ thuật này đều giúp bảo vệ mã nguồn PHP, nhưng nó ngăn chặn việc phân phối ứng dụng. Do đó, lý do là hầu hết các bộ mã hóa thương mại đều có tính năng khóa, cho phép khóa ứng dụng vào một địa chỉ IP, tên miền, địa chỉ phần cứng cụ thể hoặc một URL trang web. Một số bộ mã hóa nhất định cũng cho phép đặt ngày hết hạn để cung cấp phiên bản dùng thử cho ứng dụng của bạn Có bộ mã hóa PHP mã nguồn mở nào không?Không nhiều, có thể là do phiên bản mã nguồn mở của bộ mã hóa PHP sẽ dễ dàng có sẵn để mọi người tạo bộ giải mã phải không? Bộ mã hóa PHP miễn phíBộ mã hóa miễn phí có tên là phpBolt giúp bạn không phải mua bộ mã hóa thương mại. phpBolt giúp bảo vệ mã nguồn PHP của bạn bằng cách mã hóa và giải mã mã bằng khóa Cách sử dụng bộ mã hóa phpBoltBước 1. Tải xuống tiện ích mở rộng phpBolt Để sử dụng phpBolt, bạn cần tải tiện ích mở rộng trình tải xuống. Tìm kiếm <?php function xyz123() { echo "henry"; } xyz123(); ?>4 bên trong thư mục nền tảng tương ứng. Ví dụ: nếu bạn đang sử dụng phiên bản 64 bit của Linux và PHP phiên bản 7. 3, thì bạn cần sử dụng <?php function xyz123() { echo "henry"; } xyz123(); ?>4 nằm trong thư mục – <?php function xyz123() { echo "henry"; } xyz123(); ?>6 Bước 2. cài đặt bu lông. nên mở rộng Sao chép <?php function xyz123() { echo "henry"; } xyz123(); ?>4 từ thư mục nền tảng tương ứng vào thư mục lưu trữ tất cả các tiện ích mở rộng PHP. Trong trường hợp của tôi, <?php function xyz123() { echo "henry"; } xyz123(); ?>8 là thư mục lưu trữ tất cả các phần mở rộng PHP Mở <?php function xyz123() { echo "henry"; } xyz123(); ?>9 như bên dưới # vim /etc/php.ini Thêm tiện ích mở rộng <?php function xyz123() { echo "henry"; } xyz123(); ?>4 extension='/absolute-path/bolt.so' Nhớ thay thế # vim /etc/php.ini1 bằng đường dẫn của tiện ích mở rộng Trong trường hợp của tôi, extension='/etc/httpd/modules/bolt.so' Bây giờ bạn đã thiết lập thành công tiện ích mở rộng trình tải bu lông Bước 3. Kiểm tra tập tin mã hóa mẫu Tải xuống chương trình hello world được mã hóa mẫu và đặt nó vào trong thư mục gốc của máy chủ web của bạn. Sau khi hoàn tất, hãy xem nhanh chương trình PHP được mã hóa. Nó sẽ trông giống như dưới đây <?php /** * define('PHP_BOLT_KEY', 'kyc7fh'); We want give key to client */ define('PHP_BOLT_KEY', 'kyc7fh'); bolt_decrypt( __FILE__ , PHP_BOLT_KEY); return 0; ##!!!##i4psiIu8tLxssa+0u2xztLG4uLtsw7u+uLBzh2w=
Đó là nó. Bây giờ hãy thử thực hiện # vim /etc/php.ini4 và xem đầu ra mong muốn trong trình duyệt web Vì vậy, làm thế nào mà làm việc đó? Bước 4. Mã hóa mã PHPỞ bước 3, chúng tôi đã thực hiện một chương trình PHP được mã hóa mẫu. Nhưng làm cách nào để bạn mã hóa chương trình PHP tùy chỉnh của mình? Để mã hóa chương trình PHP của bạn, bạn cần tải tập lệnh mã hóa xuống từ liên kết này. Tìm biểu mẫu tải xuống ở cuối trang, nơi bạn sẽ cần nhập email và tên của mình và nhấp vào nút "Tải xuống". Bạn sẽ nhận được email có liên kết để tải xuống gói – gói này sẽ chứa tiện ích mở rộng trình tải, chương trình được mã hóa mẫu và tập lệnh mã hóa a) Hãy chú ý đến # vim /etc/php.ini7 – đây là tập lệnh mã hóa giúp bạn mã hóa mã nguồn của mình b) Mở # vim /etc/php.ini7 và thay đổi các dòng cần thiết như hình bên dưới <?php /** * src : source folder * encrypted : Output folder */ $src = 'src/'; //Source folder that contains the source code of your PHP application $php_blot_key = "kyc7fh"; //Key to encrypt & decrypt PHP source code. You will be sharing this key with the client Ghi chú. Hãy nhớ đặt khóa tùy chỉnh của bạn để mã hóa. Khóa trên chỉ là ví dụ sử dụng Đợi đã, một thay đổi nhỏ phải được thực hiện trong tệp # vim /etc/php.ini7, để hằng số # vim /etc/php.ini2 đặt đúng giá trị khóa trong tất cả các tệp được mã hóa. Bởi vì, # vim /etc/php.ini7 đã tải xuống không đặt khóa đúng cách. Để làm điều đó, hãy tìm dòng bên dưới (dòng 46 – số dòng có thể thay đổi trong phiên bản sau) $preppand = '<?php bolt_decrypt( __FILE__ , PHP_BOLT_KEY); return 0; ##!!!##'; và thay thế nó bằng cái bên dưới $preppand = "<?php bolt_decrypt( __FILE__ ,'". PHP_BOLT_KEY . "'); return 0; ##!!!##"; Việc thay thế ở trên đảm bảo rằng # vim /etc/php.ini2 được đặt chính xác trong tất cả các tệp PHP được mã hóa c) Thực hiện # vim /etc/php.ini7. Đảm bảo tệp này được sao chép hoặc hiển thị bên trong thư mục ứng dụng mà bạn muốn mã hóa. Nếu không, thì bạn cần đặt đường dẫn tuyệt đối cho thư mục ứng dụng của mình trong biến extension='/absolute-path/bolt.so'4 (tùy theo lựa chọn của bạn) $php encrypt.php Lệnh trên sẽ đọc biến $src và mã hóa tất cả các tệp PHP nằm trong thư mục đã cho. Sau khi hoàn tất, một thư mục extension='/absolute-path/bolt.so'5 sẽ được tạo chứa tất cả các tệp PHP được mã hóa <?php function xyz123() { echo "henry"; } xyz123(); ?>0 Ghi chú Bạn cũng có thể thực thi # vim /etc/php.ini7 qua trình duyệt d) Bây giờ, hãy tìm các tệp được mã hóa bên trong thư mục extension='/absolute-path/bolt.so'5. Bạn có thể mở các tệp để xác nhận mã hóa <?php function xyz123() { echo "henry"; } xyz123(); ?>1 e) Thế thôi. Đóng gói tất cả các tệp bên trong thư mục được mã hóa và phân phối nó cho khách hàng của bạn Cài đặt Máy chủ khách phải có tiện ích mở rộng trình tải <?php function xyz123() { echo "henry"; } xyz123(); ?>4 được thêm vào <?php function xyz123() { echo "henry"; } xyz123(); ?>9 để thực thi các tệp được mã hóa bằng bộ mã hóa phpBolt Bộ mã hóa phpBolt có tốt hơn bộ mã hóa thương mại không?Tôi chưa sử dụng bất kỳ bộ mã hóa PHP thương mại nào, vì vậy tôi không biết, thành thật mà nói. Ngoài ra, một số người dùng phàn nàn rằng một số bộ mã hóa đã phá vỡ ứng dụng của họ. Vì vậy, nếu bạn muốn sử dụng bộ mã hóa PHP, hãy đảm bảo rằng bạn đã liệt kê những tệp bạn cần mã hóa và những tệp không nên và kiểm tra nó đúng cách trước khi chuyển nó đến trang web của khách hàng. Bạn nên đọc kỹ tài liệu trước khi sử dụng các công cụ mã hóa Mặc dù phpBolt tạo một thư mục riêng để lưu trữ các tệp được mã hóa, tốt hơn hết là bạn nên sao lưu mã ứng dụng của mình trước khi thực thi tập lệnh # vim /etc/php.ini7 từ chối trách nhiệm Hướng dẫn này chỉ dành cho mục đích thông tin. Công nghệ. com hoặc tác giả không sở hữu bất kỳ trách nhiệm nào trong trường hợp có sự cố/lỗi có thể xảy ra khi sử dụng các công cụ mã hóa. Chơi nó có nguy cơ của riêng bạn Làm cách nào để ẩn mã nguồn PHP của tôi?Ẩn PHP ¶
. By setting expose_php to off in your php. ini, bạn giảm lượng thông tin có sẵn cho chúng . Để điều này hoạt động hiệu quả, bạn phải đổi tên các tệp PHP của mình bằng các phần mở rộng ở trên. Mặc dù đây là một hình thức bảo mật thông qua che khuất, nhưng đây là một biện pháp phòng ngừa nhỏ với một vài nhược điểm.
Tôi có thể mã hóa mã PHP của mình không?bolt_decrypt(mã_mã_mã_hóa,_khóa_mã_hóa) thao tác này sẽ thực thi mã php. Bước 2. Tải xuống tập lệnh mã hóa PHP. Sau đó thay đổi đường dẫn mã nguồn, khóa mã hóa và các tệp bị loại trừ. Sau đó chạy tập lệnh mã hóa trong máy chủ hoặc máy chủ cục bộ của bạn.
Làm cách nào để mã hóa mã nguồn HTML trong PHP?Bạn không thể mã hóa đầu ra HTML được gửi tới người dùng của mình . Họ sẽ không thể tải trang web nếu bạn làm vậy. Nếu bạn lo lắng về việc họ nhìn thấy mã PHP, bạn không cần phải lo lắng về điều đó. Họ sẽ không bao giờ nhìn thấy mã PHP - nó được máy chủ xử lý và chuyển thành HTML trước khi gửi tới máy khách.
Làm cách nào để bảo vệ mã nguồn laravel?Trình mã hóa nguồn Laravel . Lúc đầu, Bạn phải cài đặt phpBolt Yêu cầu gói với trình soạn thảo bằng lệnh sau. nhà soạn nhạc yêu cầu --dev sbamtr/laravel-source-encrypter Đối với Laravel. Nhà cung cấp dịch vụ sẽ tự động được đăng ký. . Bước 4 (Tùy chọn). Ví dụ sử dụng |