فرض کنید شما پروژه ای نوشتید و اون رو به مشتری تحویل دادید، اما به هر دلیلی تمایل ندارید مشتری آزادانه به کد های اون دسترسی داشته باشه؛ برای محافظت از کد های php در برابر تغییر غیر مجار روش های مختلفی هست که یکی از اون ها استفاده از PHP Obfuscator ها هست

روند کلی این برنامه ها به این صورته که اسکریپت شما رو جوری تغییر میدن که خوندن اون در حالت عادی برای بقیه عملی نیست.

https://www.gaijin.at/en/tools/php-obfuscator بیشتر به تغییر اسم توابع، کلاس ها و متغیر و کد کردن رشته ها متکی هست.

https://php-minify.com ز تابع eval()  استفاده میکنه و خواندن کد در حالت عادی عملی نیست

برای مثال کد زیر:

<?php
function sayHi($name){
    echo "Hello $name";    
}
sayHi('Mohammad');
?>

خروجی زیر رو میده:

<?php eval(base64_decode('CiBnb3RvIG5OTXhLOyBuTk14SzogZnVuY3Rpb24gc2F5SGkoJG5hbWUpIHsgZWNobyAiXDExMFwxNDVcMTU0XHg2Y1wxNTdcNDB7JG5hbWV9IjsgfSBnb3RvIG9JYjJxOyBvSWIycTogc2F5SGkoIlx4NGRcMTU3XHg2OFx4NjFceDZkXHg2ZFx4NjFceDY0Iik7IGdvdG8gVEprRnc7IFRKa0Z3OiA=')); ?>

 

کلاس های زیادی برای این کار هستن:

https://github.com/naneau/php-obfuscator

https://github.com/pH-7/Obfuscator-Class