Hướng dẫn dịch ngược code php
Yêu cầu thg 12 4, 2017 1:15 SA• 5259 0 3 Show
Nội dung chính
Có 1 vấn đề mình luôn băn khoăn là PHP là ngôn ngữ lập trình nguồn mở. Nhưng những dự án thực hiện, làm thế nào để có thể mã hóa được mã nguồn. Ví dụ hacker có vào được server tải file config của mình về nhưng không thể đọc được (trong trường hợp không biết mình khai báo kết nối như thế nào thì để mò sẽ khó hơn). Tiếp nữa là nếu dự án hoàn thành, mình bàn giao cho khách hàng nhưng hạn chế việc khách hàng thay đổi source code, hay copy source nhân bản lên nhiều website khác.
3 CÂU TRẢ LỜIĐã trả lời thg 12 5, 2017 4:35 CH Về vấn đề bảo mật source code như này theo mình biết thì có 2 cách giải quyết chính như sau: Đã trả lời thg 12 4, 2017 2:54 SA Đã trả lời thg 12 4, 2017 2:54 SA Mã hóa thì bạn có thể dùng cái thằng này https://www.ioncube.com/loaders.php PHP là ngôn ngữ lập trình nguồn mở nên hạn chế mã hóa nhé bạn. Cty tôi đang vất vả với đóng code đã bị mã hóa vì đối tác làm web cho cty tôi có ý tưởng mã hóa giống bạn đó. Đã trả lời thg 12 5, 2017 2:11 SA Đã trả lời thg 12 5, 2017 2:11 SA Mình cũng đang rất quan tâm đến vấn đề này. Bạn nào có kinh nghiệm xin vào hỗ trợ. PHP có lẽ là ngôn ngữ lập trình kịch bản hay một loại mã lệnh phổ biến nhất cho lập trình viên web nhờ khả năng mở rộng tốt vượt ra ngoài việc chỉ xây dựng website. Tất nhiên, với khả năng mở rộng nhiều như vậy thường đi kèm với điều kiện phải học hỏi rất nhiều. May mắn rằng, trang PHP dễ hiểu với những người mới bắt đầu lập trình, mà vẫn đủ mạnh cho lập trình viên chuyên nghiệp. Danh sách dài những khả năng đó ban đầu có vẻ khá đáng sợ, tuy nhiên, bất kỳ ai dù với kiến thức lập trình ít ỏi cũng có thể viết được mã PHP đơn giản. Điều đó nói lên rằng, không ai mong đợi có thể trở thành chuyên gia chỉ sau có 1 đêm, nên bộ "Ăn gian với PHP" - PHP Cheat sheet này sẽ giúp những người mới bắt đầu có thể "chuyên nghiệp" hơn 1 chút I. Cơ bản về PHPTrong trường hợp bạn cần 1 khóa học vỡ lòng khẩn cấp, thì phần này sẽ giúp bạn bao quát được những điều cơ bản nhất trong PHP. Không giống như JavaScript - ngôn ngữ phía người dùng - client side, PHP được thực thi trên server, và trả ra mã HTML để gửi tới client. Vì thế, client nhận được kết quả của đoạn mã chứ không phải là đoạn mã gốc. Điều này khả thi khi cấu hình máy chủ của bạn có thể xử lý tất cả các file HTML với PHP để người dùng không thể nào biết được những gì được viết phía dưới. Mã PHP được nhúng vào HTML và phải được đặt trong cặp thẻ đóng mở khối mã:
Lệnh Theo như trang W3techs, hơn 75% web servers được viết bằng PHP. Tuy nhiên, vì PHP là ngôn ngữ mã nguồn mở vốn có sự phát triển nhanh chóng chứ không phải được cố tình thiết kế như vậy ngay từ đầu, nên thiết kế ứng dụng rất dễ có nhiều lỗ hổng bảo mật. OWASP có 1 bản cheat an ninh khá hay giúp đảm bảo nền tảng ứng dụng PHP của bạn bảo mật hơn. II. PHP ModesMã PHP được xử lý bằng nhiều cách, bao gồm cả Apache module, CGI và FastCGI. Nếu bạn đang sử dụng PHP cho dự án, phần này có thể giúp bạn biết nên bắt đầu từ đâu. Có nhiều lựa chọn thay thế khác, nhưng dưới đây là những cách thường dùng: 1. mod_php (Apache Module)Sử dụng mod_php nhúng trình thông dịch PHP vào mỗi quy trình Apache khi nó sinh ra. Vì thế, không cần thêm quy trình bên ngoài nào bởi Apache đã tự xử lý mã PHP rồi. Việc này vô cùng hữu ích đối với các trang web mà hay phải nhận những request PHP lớn như WordPress, Drupal hay Joomla. Trình thông dịch lưu lại thông tin, nhờ đó mà những công việc tương tự không cần phải bị lặp lại mỗi lần xử lý mã. Đổi lại thì tiến trình Apache lưu lại lượng lớn dấu vết thông tin nên sẽ gây tốn bộ nhớ hơn. Lợi ích của mod_php
Hạn chế của mod_php
2. CGISử dụng ứng dụng CGI để xử lý mã PHP được coi là cách cổ, nhưng nó vẫn tiện lợi với 1 số mục đích. Lợi ích lớn nhất khi sử dụng CGI đó là việc xử lý mã được tách biệt với server của bạn. Vì trình thông dịch PHP chỉ được gọi đến khi cần, nên những nội dung tĩnh vẫn được an toàn ở trên server của bạn. Tuy nhiên, do 1 tiến trình mới phải được tạo ra mỗi khi mã PHP được sử dụng, nên chế độ này tiêu tốn tài nguyên rất nhanh. Nhờ thế, CGI không được khuyến khích sử dụng trong các dự án cần trao đổi nhiều mã PHP. Lợi ích của CGI
Hạn chế của CGI
3. FastCGIFastCGI cho phép tận dụng cả sự bảo mật của CGI lẫn hiệu năng của Mod_php. Mã lệnh được xử lý bới trình thông dịch bên ngoài server, và mỗi request chuyển từ server qua FastCGI thông qua 1 network socket. Sau đó, Server và trình thông dịch PHP có thể sẽ tách thành các môi trường riêng biệt, nhờ đó cải thiện khả năng mở rộng. Sử dụng Lợi ích của FastCGI
Hạn chế của FastCGI
Nếu bạn đang làm việc với 1 dự án nhỏ, thì cứ thoải mái chọn các xử lý nào mà bạn muốn. FastCGI là lựa chọn phù hợp nhất để chạy ứng dụng CMS như wordpress, trong khi mod_php lại tốt hơn nếu bạn chỉ cần dựa các điều hướng của
file III. PHP FunctionsCác functions (hàm) đại diện cho các đoạn mã được sử dụng thường xuyên, nhờ đó bạn không cần phải liên tục copy và paste cùng một đoạn mã lặp đi lặp lại nhiều nơi. Tuy nhiên làm vậy sẽ khó mà bao quát toàn bộ danh sách dài các hàm trong 1 file mã được. Thay vào đó, bạn sẽ cần tìm 1 bộ PHP cheat có thể phục vụ bất kỳ mục đích nào mà bạn cần. Phần này sẽ cung cấp cho bạn những giải thích cặn kẽ của các function thường dùng. 1. Thao tác với Stringstrlen()Hàm
substr($string, $start, $length)Hàm
Theo như trên, hàm sẽ hoạt động như sau:
strtoupper() & strtolower()Hàm
strpos($haystack,$needle,$offset)Hàm
Hàm
Đoạn code trên sẽ trả về dòng chữ 2. Hàm xử lý số học (Arithmetic Functions)round($val, $precision, $mode)
Có 2 hàm toán học khác cũng xử lý làm tròn số, là hàm
3. Lấy ra số ngẫu nhiênrand($min, $max)Hàm
Vì 1 vài lý do, 1 số hệ thống
Windows tự động gán 4. Một chút vui vẻ với hàm xử lý mảng - Array FunctionsTất nhiên là array_push($array, $value1, $value2)
Có 1 cách dễ hơn để làm việc trên, đấy là liệt kê tất cả phần tử và thêm vào mảng trong 1 lần gọi hàm. Ví dụ như sau:
2 ví dụ trên sẽ có kết quả trả ra giống nhau. Bây giờ, nếu gọi
sort($array, $sort_flags)Hàm
rsort($array, $sort_flags)Hàm
join($glue, $array) or implode($glue, $array)Hàm Tham số đầu tiên, Ví dụ thêm:
Kết quả trả về:
5. Hàm PHP nâng caoĐây là Tài liệu nâng cao về PHP function, Envato cũng có 1 danh sách các hàm hữu dụng trong PHP mà ít người biết nữa đấy. Envato has a useful list of some lesser known capabilities of PHP. IV. PHP CommandsPHP có tất cả các lệnh điều khiển mà bạn mong chờ ở 1 ngôn ngữ lập trình kịch bản, tức là có quá nhiều thứ để có thể đi sâu vào trong chủ đề này. May mắn thay, '1keydata' có 1 hướng dẫn sử dụng lệnh PHP rất hay để có chúng ta có thêm các thông tin khác về cách sử dụng PHP sao cho tận dụng được tối đa. V. Các nguồn PHP Cheat Sheet khácCác bạn có thể tìm thấy hàng tá các PHP cheat sheet khác cho tất cả các mục đích khac nhau khắp nơi trên mạng. Prophet Hacker có 1 danh sách dài, nhưng không có nhĩa là nó là những hướng dẫn phổ biến nhất. Dưới đây là 1 vài biểu đồ đáng chú ý cho các bạn tham khảo:
Nếu bạn không sử dụng hoàn toàn PHP cho mọi dự án bạn làm, thì rất dễ quên đi 1 số thứ. Bài viết này nhằm cung cấp nhanh cho bạn một tài liệu tham khảo dành cho các tính năng và chức năng PHP được sử dụng thường xuyên nhất. Hãy thoải mái xem lại bất cứ lúc nào bạn cần bồi dưỡng thêm. Tài liệu gốc
|