मैं एक php प्रोजेक्ट पर काम कर रहा हूं, और मैं एक MySQL डेटाबेस से प्राप्त कोड चलााना चाहता हूं। असुरक्षित कोड इंजेक्शन होने का कोई मौका नहीं है, इसलिए केवल एक चीज जिसे मैं चिंतित करता हूं वह प्रदर्शन है। क्या मुझे eval() का उपयोग करना चाहिए, इसलिए मैं सीधे कोड चला सकता हूं, या इसे पार्स कर सकता हूं ताकि call_user_func() इसके बजाए इसे चला सके?क्या मुझे eval() या call_user_func() का उपयोग करना चाहिए?
उदाहरण के लिए, यदि मैं प्राप्त कोड "myfunc (1,2,3) था, दूसरा फ़नक (3,2,1);"
मैं कोड को चलाने के लिए इसे सीधे() कर सकता हूं।
लेकिन call_user_func() के लिए, मुझे स्ट्रिंग को पार्स करना होगा ताकि इसे चलाया जा सके। तो इस मामले में उपयोग करने के लिए बेहतर काम कौन सा है?
संपादित करें के बारे में क्षमा करें, लेकिन मैं इस तरह के विचार प्राप्त जब भी मैं देख रहा हूँ कुछ का कोई मौका नहीं :) इसे हटाने के लिए, अगर आपको लगता है कि यह वहां नहीं होना चाहिए स्वतंत्र महसूस न हो। –
क्षमा करें, लेकिन यह न तो मजाकिया और न ही निर्देशक है। केवल विशेषाधिकारों का दुरुपयोग [आईएमएचओ]। – soulmerge
कोई मौका नहीं है, क्योंकि मैं डेटाबेस से लिखने के लिए केवल एकमात्र हूं जिसे कॉल करता है। – Drahcir