محمد مهدی امیری
2 سال پیش توسط محمد مهدی امیری مطرح شد
24 پاسخ

فراخوانی یک فایل از سایت در لوکال هاست

سلام خسته نباشید ببخشید من دارم یک انکودر می‌نویسم از نظر خودم اگه روش دیکد کردنش از سایت خودم اجرا شه اوکی هستش یعنی فانکشنی که دیکد می‌کنه از سایتم بر روی پروژه کاربر قرار بگیره
اول میخواستم اینکارو کنم کل php.net رو گشتم ولی چیزی که کمکم کنه پیدا نکردم
دوم کسی روش بهتری سراغ داره که از روش دیکد کردن محافظت کنه
مثلا چیزی که میخوام داخل هاست قرار بدم

base64_decode($decode_code)

چیزی که داخل پروژه انکود شده میخوام قرار بدم

$decode_code = 'ZW5jb2Rl';
// اینجا هم میخوام ادرس سرورم که دیکدر داخلش هست قرار بگیره

ثبت پرسش جدید
ASPgo
تخصص : HTML، CSS، PHP و JS، طراح قالب...
@asp.gosk 2 سال پیش آپدیت شد
1

اگه منظورتو درست فهمیده باشم باید API بنویسی
یه فایل بساز مثلا decode.php بعد توش بررسی کن مثلا code تو GET وجود داره یا نه(GET code قراره چیزی باشه که قراره decode بشه)
اگه وجود داشت GET code رو decode کنه و به شکل JSON تو خروجی بفرسته
بعد طرف هروقت خواست کدش رو Decode کنه با php یا javascript یه Request به فایل decode.php بفرسته مثلا فرمتش به این شکل باشه:

encoder.com/decode.php?code=EncodedText

بعد طرف(کسی که داره استفاده میکنه) خروجیش رو قرار بده تو یه متغیر و کار هایی که میخواد رو باهاش انجام بده


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 2 سال پیش مطرح شد
0

@asp.gosk
ممنون من تاحالا همچین کاری انجام ندادن میتونید یک نمونه کد ارسال کنی ممنون


ASPgo
تخصص : HTML، CSS، PHP و JS، طراح قالب...
@asp.gosk 2 سال پیش آپدیت شد
1

فرض کن یه فایل api.php داریم قراره باهاش مثلا دو تا عدد رو جمع کنیم.
کد های فایل api.php:

if(isset($_GET['num1']) AND isset($_GET['num2'])){
    $num 1 = (int) $_GET['num1'];
    $num 2 = (int) $_GET['num2'];
    $output = $num1 + $num2;
    header('Content-Type: application/json; charset=utf-8');
    echo '{"output": "' . $output . '"}';
    die();
} else{
    header('Content-Type: application/json; charset=utf-8');
    echo '{"error": "یک عدد یا چند عدد وارد نشده است."}';
}
die();

همونطور که میبینی بررسی میکنیم GET num1 و num2 وجود دارن یا نه. اگه نه به شکل JSON ارور رو نمایش میدیم اگه وجود داشتن جمعشون میکنیم به شکل JSON نمایش میدیم.
حالا فرض کن من یه کاربر هستم و میخوام از این API استفاده کنم. یکی از مزیت های API اینکه نیازی نیست به زبان برنامه نویسی سایت توجه کرد.
مثلا طرف میخواد از این API با JS استفاده کنه میتونه از XMLHTPPRequest یا fetch استفاده کنه
اگه زبان سایتش PHP باشه میتونه از filegetcontents استفاده کنه.
نمونه استفاده از این API با JS(من با xmlhttprequest راحت ترم و از fetch استفاده نکردم اینجا):

var request = new XMLHttpRequest();
request.open('GET', `site.com/api.php?num1=5&num2=2`, false);
request.send();
var output = JSON.parse(request.responseText).output;
console.log(output); // Output 7

نمونه کد PHP:

$output = file_get_contents("site.com/api.php?num1=5&num2=2");
$output = json_decode($output, true);
echo $output['output']; // Output 7

حالا تو توی API به جای جمع اعداد میای اون چیزی که طرف تو GET مثلا code وارد کرده رو decode میکنی به شکل json تو خروجی میفرستی
باید برای API راهنما استفاده یا به اصطلاح documentation(مستندات) هم بنویسی تا کسی که داره استفاده میکنه بدونه چطور ازش به شکل صحیح استفاده کنه
نمونه documentation[1]
نمونه documentation[2]


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 2 سال پیش مطرح شد
0

ممنون ولی کدی که ارسال کردی کار نکرد
میتونی این کارو برای من انجام بدی
من میخوام فانکشن

decoder()

رو از آدرس

https://project.wpuser.ir/1/

اجرا کنم


ASPgo
تخصص : HTML، CSS، PHP و JS، طراح قالب...
@asp.gosk 2 سال پیش آپدیت شد
1

ارور و خود کد رو بفرست
آدرس https://project.wpuser.ir/1/ یه فولدر هست؟ اگه نیست باید یه بخشیش رو با htaccess اوکی کنی
اگه هست، یه فایل php به اسم api بساز
توش بررسی کن مثلا GET code وجود داره یا نه. اگه وجود داشت پاسش بده به فانکشن decode() و خروجیش رو با echo به شکل JSON نمایش بده
کد های فایل api.php:

// اینجا فانکشن Decode رو تعریف کن
if(isset($_GET['code'])){
    $code = $_GET['code'];
        if($code != null AND $code != ''){
            $code = decode($code);
            header('Content-Type: application/json; charset=utf-8');
            echo '{"output": "' . $code . '"}';
            die();
        } else{
            // اینجا ارور رو به شکل JSON نمایش بده
        }
} else{
    // اینجا ارور رو به شکل JSON نمایش بده
}
die();

کاربر هم به این شکل میتونه از API استفاده کنه:

var request = new XMLHttpRequest();
request.open('GET', `https://project.wpuser.ir/1/api.php?code={CODE}`, false); // طرف باید بجای {CODE} متنی که قراره decode بشه رو قرار بده
request.send();
var output = JSON.parse(request.responseText).output;
console.log(output);

محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 2 سال پیش مطرح شد
0

من هر کاری کردم نشد


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 2 سال پیش آپدیت شد
0

@asp.gosk
اگه باjson نشه چی یعنی من یک تابعی رو داخل هاست درست کردم که کد رو دیکد کنه
بعد کاربر میادو تابع منو فراخانی میکنه از سرور خودم و بجای اینکه کد انکود شده رو چاپ کنه اجراش کنه


ASPgo
تخصص : HTML، CSS، PHP و JS، طراح قالب...
@asp.gosk 2 سال پیش مطرح شد
0

کلا برای API باید از JSON یا XML استفاده کرد.
دقیقا توضیح بده چه مشکلی پیش میاد کد هات هم بفرست


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 2 سال پیش آپدیت شد
0

@asp.gosk
من میخوام این فانکشن از هاست اجرا بشه

function decoder($code){
    eval("?>".gzuncompress(gzuncompress(gzinflate(gzinflate(gzinflate(base64_decode(strrev(<<<DATA

"'.$code.'" 

DATA))))))));
}

ASPgo
تخصص : HTML، CSS، PHP و JS، طراح قالب...
@asp.gosk 2 سال پیش مطرح شد
0

کد های API که نوشتی رو قرار بده


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 2 سال پیش مطرح شد
0

صفحه سفید میشه


ASPgo
تخصص : HTML، CSS، PHP و JS، طراح قالب...
@asp.gosk 2 سال پیش مطرح شد
0

فکر کنم مشکل از فانکشن decoder هست.

function decoder($code){
    eval("?>".gzuncompress(gzuncompress(gzinflate(gzinflate(gzinflate(base64_decode(strrev(<<<DATA

"'.$code.'" 

DATA))))))));
}

این فانکشن چیزی رو Return نمیکنه و فقط کد Decode شده رو اجرا میکنه
باید به جای اینکه متن decode شده رو اجرا کنی return کنی و به شکل JSON به نمایش در بیاری


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 2 سال پیش آپدیت شد
0

@asp.gosk
ببخشید میتونید این کارو انجام بدین فانکشن رو هم که دارین واقعا ممنون میشم
من هرکاری کردم نشد ممنون میشم اگه کمکم کنی


ASPgo
تخصص : HTML، CSS، PHP و JS، طراح قالب...
@asp.gosk 2 سال پیش آپدیت شد
0

کد های فایل api.php

function decoder($code){
            $output = "?>".gzuncompress(gzuncompress(gzinflate(gzinflate(gzinflate(base64_decode(strrev(<<<DATA$

"'.$code.'" 

DATA))))));
}
if(isset($_GET['code'])){
    $code = $_GET['code'];
        if($code != null AND $code != ''){
            $code = decode($code);
            header('Content-Type: application/json; charset=utf-8');
            echo '{"output": "' . $code . '"}';
            die();
        } else{
             header('Content-Type: application/json; charset=utf-8');
            echo '{"error": "ورودی خالی است"}';
             die();
        }
} else{
       header('Content-Type: application/json; charset=utf-8');
     echo '{"error": "ورودی وجود ندارد"}';
    die();
}
die();

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

$output = file_get_contents("https://project.wpuser.ir/1/api.php?code=$code"); // طرف باید به جای $code چیزی که قراره decode بشه رو قرار بده
$output = json_decode($output, true);
eval($output['output']);

نمیدونم ساختار پروژت به چه شکله و مطمئن نیستم کار کنه


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 2 سال پیش مطرح شد
0

انجام دادم این ارور رو میده


Warning: file_get_contents(https://project.wpuser.ir/1/api.php?code==ocV1jI6NlYsA8/b3X87vft+/fNMWwCvBE/msOzE9XkQY8Rz3y0n8lwjkSUG6cGg/lkuWnNT6N1OFoCCNejTPdLWloQwJfqcTGpP99CFz8quRfcEP7AiSxwuuG/95kavzgCztEAmzpv1/1LcO5BbcfoezQ0eRXrowBnBgv1kTM7ILjVkRvSwQo6Hb8D6zZDOBuM4IPvPvp4tVNbvQxbF8dFk5ZARZOOJt6wjXDjaqfbXWLcDVdtSITqQk8hg8usBOi34XtMNtZ+UWVlgYPjH0lZX5NyIGcAjBOlhWvMZQadm01CVh/V3xtatdoLO8+pYYDH31HBR0MX1AnktKbNkN+BlMboiUueyMX+DS7ZBHIcnoqOZQA/fjykGqFsrULuoKamEO3OqeSWYOjbFpTn5KDObnyG6hv4+5J+iMm2sIw8PeOqkOXLjjGH92B5Hj6e1m96k0oHqLBt6UF3BJlnNWjdRJTAUo0Cqst/KXGKSKcLXAA+I9Z5toLidtGY7O8B1doPaKs+6oNA3NqMSbMivy5wYR4Q7HfxCuy8NhtsMUPYl2S82B6ZiC4MB8jDWpS2Jd4wPKJbvtsSDIzPS0tYrQ2Y+1hL4qXlsQZfDt86UwRKr1TbJWTjsIG7VZZpgpUj6de0uas5xL/INgA1rteVJX7K/Iwy9hpW3C8Ep0c7iebt86xRmWxOfUasrtWvnYWh2qNMhnIyTIyuujb0ypoPVsDsXbcchRIxBZWsW7xGZ+p7ou0JqUvib5DPiOORLHXT382txnGwbcLBGCUtwVodvVe+MtdI5miYYE0zivD6/BSIkIU9Lwuaqmr9+pbak3Fk5yKGReo4z+sojdSqPmeBR+Y4q5KbKutfbbARz0oneL0FVvFoTA4WpQ3aBYiHB/s3NHctpJBjmzTWdAuWKilMUYKauBS0XTk97K32Vws9Ja5GSUS9u0zNjXj5lkQK0FOgt0n04n in C:\xampp\htdocs\1\decoder.php on line 2

Warning: Use of undefined constant output - assumed 'output' (this will throw an Error in a future version of PHP) in C:\xampp\htdocs\1\decoder.php on line 6

Warning: Illegal string offset 'output' in C:\xampp\htdocs\1\decoder.php on line 6

Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\1\decoder.php(6) : eval()'d code on line 1

محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 2 سال پیش مطرح شد
0
<?php
$output = file_get_contents("https://project.wpuser.ir/1/api.php?code==ocV1jI6NlYsA8/b3X87vft+/fNMWwCvBE/msOzE9XkQY8Rz3y0n8lwjkSUG6cGg/lkuWnNT6N1OFoCCNejTPdLWloQwJfqcTGpP99CFz8quRfcEP7AiSxwuuG/95kavzgCztEAmzpv1/1LcO5BbcfoezQ0eRXrowBnBgv1kTM7ILjVkRvSwQo6Hb8D6zZDOBuM4IPvPvp4tVNbvQxbF8dFk5ZARZOOJt6wjXDjaqfbXWLcDVdtSITqQk8hg8usBOi34XtMNtZ+UWVlgYPjH0lZX5NyIGcAjBOlhWvMZQadm01CVh/V3xtatdoLO8+pYYDH31HBR0MX1AnktKbNkN+BlMboiUueyMX+DS7ZBHIcnoqOZQA/fjykGqFsrULuoKamEO3OqeSWYOjbFpTn5KDObnyG6hv4+5J+iMm2sIw8PeOqkOXLjjGH92B5Hj6e1m96k0oHqLBt6UF3BJlnNWjdRJTAUo0Cqst/KXGKSKcLXAA+I9Z5toLidtGY7O8B1doPaKs+6oNA3NqMSbMivy5wYR4Q7HfxCuy8NhtsMUPYl2S82B6ZiC4MB8jDWpS2Jd4wPKJbvtsSDIzPS0tYrQ2Y+1hL4qXlsQZfDt86UwRKr1TbJWTjsIG7VZZpgpUj6de0uas5xL/INgA1rteVJX7K/Iwy9hpW3C8Ep0c7iebt86xRmWxOfUasrtWvnYWh2qNMhnIyTIyuujb0ypoPVsDsXbcchRIxBZWsW7xGZ+p7ou0JqUvib5DPiOORLHXT382txnGwbcLBGCUtwVodvVe+MtdI5miYYE0zivD6/BSIkIU9Lwuaqmr9+pbak3Fk5yKGReo4z+sojdSqPmeBR+Y4q5KbKutfbbARz0oneL0FVvFoTA4WpQ3aBYiHB/s3NHctpJBjmzTWdAuWKilMUYKauBS0XTk97K32Vws9Ja5GSUS9u0zNjXj5lkQK0FOgt0n04nebnlmJHVafOxkZcoeYsHXHKFN72CnfzKXfxhN0TtiVPKZDu12ec5prwqufQgRHpnMxkuqIDcNc2gB+47vAQwXHCgiOhWx3QgKNwHxWEyBsO8+wgCB/E6E6d2ZYC70tzPpwOFGlEDuACDZOqF8mL2JvoVguErpYkPRm5LxhaQyij4vig6yoB9aiseXu1e7bu9RQ50ic2GVPTANgVwaqk2VhvCzTRejDSAtwB5UnDdb8x3SX+1VUsORFHqjhzq7tEKKPKeS8P+lJXUMayDrMKuiI2ZNal3ncA3JeO6bowfUxkTGlaKEUsl0/Dixgj+ZdJuQvOH9zLWwyfw9/W7tXf4RmN39uXIV13SWR+OKB39j/5/vdaNQdV3Jv+XK3OfSZZnIT96HS1N9lmtXq82/Pf++LnhDJWy2EJcJfyHyh4LfIOieexRtk5N6ivpVgzpVXTYhCPvgJHxiU7putLVlkOfafkPziHAErCo1KTh5FAu7OcvkPp329WL/6yP5LXkcHVN/tyUWLFXwyy0YEHRlkej/af86V221ndPra5iY0+uHt7T2o+8LAuDBnieQZaakwIEKAEjU4IGtGb3XBSldfq6j4rP7HDIN6jZRVrci3+kRwmBwJe7nFBmGw+URwqBs/TEAbA"); // طرف باید به جای $code چیزی که قراره decode بشه رو قرار بده

$output = json_decode($output, true);

eval(output['output']);
?>

ASPgo
تخصص : HTML، CSS، PHP و JS، طراح قالب...
@asp.gosk 2 سال پیش آپدیت شد
0

کد هایی که برای Api.php بود یه مشکلی داشت ویرایش کردم الان دوباره تست کن
خط سوم نحوه استفاده کاربر هم $ آرایه output جا افتاده بود


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 2 سال پیش مطرح شد
0

دوباره ارور داد


Warning: file_get_contents(https://project.wpuser.ir/1/api.php?code==ocV1jI6NlYsA8/b3X87vft+/fNMWwCvBE/msOzE9XkQY8Rz3y0n8lwjkSUG6cGg/lkuWnNT6N1OFoCCNejTPdLWloQwJfqcTGpP99CFz8quRfcEP7AiSxwuuG/95kavzgCztEAmzpv1/1LcO5BbcfoezQ0eRXrowBnBgv1kTM7ILjVkRvSwQo6Hb8D6zZDOBuM4IPvPvp4tVNbvQxbF8dFk5ZARZOOJt6wjXDjaqfbXWLcDVdtSITqQk8hg8usBOi34XtMNtZ+UWVlgYPjH0lZX5NyIGcAjBOlhWvMZQadm01CVh/V3xtatdoLO8+pYYDH31HBR0MX1AnktKbNkN+BlMboiUueyMX+DS7ZBHIcnoqOZQA/fjykGqFsrULuoKamEO3OqeSWYOjbFpTn5KDObnyG6hv4+5J+iMm2sIw8PeOqkOXLjjGH92B5Hj6e1m96k0oHqLBt6UF3BJlnNWjdRJTAUo0Cqst/KXGKSKcLXAA+I9Z5toLidtGY7O8B1doPaKs+6oNA3NqMSbMivy5wYR4Q7HfxCuy8NhtsMUPYl2S82B6ZiC4MB8jDWpS2Jd4wPKJbvtsSDIzPS0tYrQ2Y+1hL4qXlsQZfDt86UwRKr1TbJWTjsIG7VZZpgpUj6de0uas5xL/INgA1rteVJX7K/Iwy9hpW3C8Ep0c7iebt86xRmWxOfUasrtWvnYWh2qNMhnIyTIyuujb0ypoPVsDsXbcchRIxBZWsW7xGZ+p7ou0JqUvib5DPiOORLHXT382txnGwbcLBGCUtwVodvVe+MtdI5miYYE0zivD6/BSIkIU9Lwuaqmr9+pbak3Fk5yKGReo4z+sojdSqPmeBR+Y4q5KbKutfbbARz0oneL0FVvFoTA4WpQ3aBYiHB/s3NHctpJBjmzTWdAuWKilMUYKauBS0XTk97K32Vws9Ja5GSUS9u0zNjXj5lkQK0FOgt0n04n in C:\xampp\htdocs\1\decoder.php on line 2

Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\1\decoder.php on line 6

ASPgo
تخصص : HTML، CSS، PHP و JS، طراح قالب...
@asp.gosk 2 سال پیش مطرح شد
0

آدرس

https://project.wpuser.ir/1/api.php?code==ocV1jI6NlYsA8/b3X87vft+/fNMWwCvBE/msOzE9XkQY8Rz3y0n8lwjkSUG6cGg/lkuWnNT6N1OFoCCNejTPdLWloQwJfqcTGpP99CFz8quRfcEP7AiSxwuuG/95kavzgCztEAmzpv1/1LcO5BbcfoezQ0eRXrowBnBgv1kTM7ILjVkRvSwQo6Hb8D6zZDOBuM4IPvPvp4tVNbvQxbF8dFk5ZARZOOJt6wjXDjaqfbXWLcDVdtSITqQk8hg8usBOi34XtMNtZ+UWVlgYPjH0lZX5NyIGcAjBOlhWvMZQadm01CVh/V3xtatdoLO8+pYYDH31HBR0MX1AnktKbNkN+BlMboiUueyMX+DS7ZBHIcnoqOZQA/fjykGqFsrULuoKamEO3OqeSWYOjbFpTn5KDObnyG6hv4+5J+iMm2sIw8PeOqkOXLjjGH92B5Hj6e1m96k0oHqLBt6UF3BJlnNWjdRJTAUo0Cqst/KXGKSKcLXAA+I9Z5toLidtGY7O8B1doPaKs+6oNA3NqMSbMivy5wYR4Q7HfxCuy8NhtsMUPYl2S82B6ZiC4MB8jDWpS2Jd4wPKJbvtsSDIzPS0tYrQ2Y+1hL4qXlsQZfDt86UwRKr1TbJWTjsIG7VZZpgpUj6de0uas5xL/INgA1rteVJX7K/Iwy9hpW3C8Ep0c7iebt86xRmWxOfUasrtWvnYWh2qNMhnIyTIyuujb0ypoPVsDsXbcchRIxBZWsW7xGZ+p7ou0JqUvib5DPiOORLHXT382txnGwbcLBGCUtwVodvVe+MtdI5miYYE0zivD6/BSIkIU9Lwuaqmr9+pbak3Fk5yKGReo4z+sojdSqPmeBR+Y4q5KbKutfbbARz0oneL0FVvFoTA4WpQ3aBYiHB/s3NHctpJBjmzTWdAuWKilMUYKauBS0XTk97K32Vws9Ja5GSUS9u0zNjXj5lkQK0FOgt0n04n

و

https://project.wpuser.ir/1/api.php

اصلا تو مرورگر باز نمیشن
ارور

Warning: file_get_contents(https://project.wpuser.ir/1/api.php?...

فقط همینه توضیح دیگه ای نداده؟


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 2 سال پیش مطرح شد
0

ممنون میشم اگه کسی کمکم کنه می‌خوام فانکشن دیکدر کد ها رو از هاست فراخوانی کنم که روش دیکد کردن رو کسی متوجه نشه باید چیکار کنم


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام