محمد مهدی امیری
3 سال پیش توسط محمد مهدی امیری مطرح شد
5 پاسخ

اعتبار سنجی کد php

سلام خسته نباشید من یک فیلد textarea دارم که از کاربر کد php میگیرم می‌خوام این کد php کاربر رو اعتبار سنجی کنم یعنی اگه کدی که کاربر زده بود بدون هیچ اروری کار کرد بقیه مرحله رو انجام بده و در غیر این صورت چیزی رو echo کنه


ثبت پرسش جدید
مهدی اردشیر
تخصص : یه برنامه نویس
@mehdi0121 3 سال پیش مطرح شد
0

برای اجرای کد میتونی از eval استفاده کنی
https://www.php.net/manual/en/function.eval.php


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

میتونی زمانی که کاربر فرم رو ارسال کرد یه فایل بسازی و کد هایی که داده رو تو اون بریزی بعد با PHP یه Request به آدرس فایل میفرستی. با strpos یا تابع های مشابهش بررسی میکنی متن های مربوط به ارور ها و اخطار ها مثل

fatal error:
Warning:

تو string مربوط به responsve درخواستی که فرستادی وجود دارن یا نه. اگه وجود نداشتن یعنی اروری وجود نداره. در نهایت فایلی که ساختی رو پاک میکنی.
ممکن کدی که کاربر داده توش نمایش ارور رو غیر فعال کرده باشه. میتونی آخر کد با عملگر " . " (اضافه کردن string به String) کد های مربوط به فعال کردن ارور ها رو اضافه کنی.


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

@mehdi0121
می‌دونم eval کارش چیه
من میخوام کد ببینم مد ارور داره یانه


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

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


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

همونطور که توضیح دادم آخرش فایل رو پاک میکنی و مشکلی از نظر حافظه هاست پیش نمیاد.
برای غیرفعال کردن کد های مخرب هم میتونی قبل ارسال Request و اجرا شدن فایل کد هایی که ممکن مشکل ساز بشن هم رو از چیزی که کاربر تو فرم پر کرده حذف کنی
روش حذف کردن یه بخشی از String


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

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