راکت

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

5 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

5
مهدی اردشیر
مهدی اردشیر
@mehdi0121

تخصص: یه برنامه نویس

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

ASPgo
ASPgo
@asp.gosk

تخصص: HTML، CSS، PHP و JS، طراح قالب و افزونه وردپرس، سئوکار و مقاله نویس

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

fatal error:
Warning:

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

شاید پاسخ شما همین‌جا باشد

محمد مهدی امیری
محمد مهدی امیری
@wpuser

تخصص: جوجه برنامه نویس PHP

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

محمد مهدی امیری
محمد مهدی امیری
@wpuser

تخصص: جوجه برنامه نویس PHP

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

ASPgo
ASPgo
@asp.gosk

تخصص: HTML، CSS، PHP و JS، طراح قالب و افزونه وردپرس، سئوکار و مقاله نویس

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

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

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