PHP

2012-05-20 4 views
5

के रूप में टेक्स्ट निष्पादित करने के लिए मुझे कोई समस्या है, मैं पाठ को पकड़ना चाहता हूं और पाठ को PHP के रूप में निष्पादित करना चाहता हूं, लेकिन मैं यह कैसे कर सकता हूं? उदाहरण के लिए मैं एक .txt फ़ाइल में इस कोड है:PHP

$tweetcpitems->post('statuses/update', array('status' => wordFilter("The item Blue has    been released on Club Penguin."))); 
$tweetcpitems->post('statuses/update', array('status' => wordFilter("The item Green has been  released on Club Penguin."))); 

अब समस्या यह है कि मैं इस पाठ को पकड़ा है और मैं एक PHP स्क्रिप्ट के रूप में यह निष्पादित करने के लिए चाहते हैं, कैसे मैं यह कर सकता हूं? कृपया सहायता कीजिए!

+2

मुझे आशा है कि आपको पता है कि यह हैक करने के लिए यह एक निमंत्रण है यदि आप उपयोगकर्ता इनपुट के साथ ऐसा कर रहे हैं? –

+7

यदि आप पूछ रहे हैं कि 'eval' का उपयोग कैसे करें, तो आपको ** निश्चित रूप से ** 'eval' का उपयोग नहीं करना चाहिए। – rdlowrey

उत्तर

4
+0

जो मेरे लिए कुछ नया है, धन्यवाद .. –

+2

बस एक तरफ नोट: 'eval()' + 'file_get_contents()' अनिवार्य रूप से 'शामिल' जैसा ही है। यदि आप ऐसा करना चाहते थे, तो आप फ़ाइल की शुरुआत में ' Matthew

0

आप पीएचपी eval का उपयोग कर के रूप में पाठ का मूल्यांकन कर सकते हैं; हालांकि, एक बहुत ही महत्वपूर्ण अस्वीकरण के लिए नीचे पढ़ें!

eval() भाषा निर्माण बहुत खतरनाक है क्योंकि यह मनमाने ढंग से PHP कोड निष्पादन की अनुमति देता है। इसका उपयोग इस प्रकार निराश है। यदि आपने सावधानी से सत्यापित किया है कि इस निर्माण का उपयोग करने के अलावा कोई अन्य विकल्प नहीं है, तो विशेष ध्यान दें कि किसी भी उपयोगकर्ता को पहले से उचित रूप से सत्यापित किए बिना डेटा प्रदान न किया जाए।

// $result is a string containing PHP code. Be sure you trust the source of 
// the PHP code prior to running it! 
eval($result); 
0

आप दोनों एक ही स्क्रिप्ट से पाठ और eval लेकिन जैसा कि पहले उल्लेख की तरह चला सकते हैं। सुरक्षा वास्तव में तंग होना चाहिए। फिर भी, अगर आप इसे सही तरीके से उपयोग करते हैं तो eval funtion वास्तव में शक्तिशाली है। नीचे दिए गए कोड का प्रयास करें।

$b = 123; 
$a = "hello <?php echo 'meeeee'; ?>. I just passed $b from the mother script. Now I will pass a value back to the mother script" . '<?php $c; $c = 1 + 8; ?>' . 
    "I was call within a function, therefore my variable can't passed to the global script. Nonetheless, let try something globally" . 
    "<?php 
     global \$d; 
     \$d = 'I am now a global var. Take care though, don\\'t let anyone edit your file' ; 
     "; 

function parseTxtAsCode($invalue){ 
    if(!is_string($invalue)) return false; 
    eval('?>' . $invalue); 
    echo "\n\n\n\n Can't believe I got this from my child: $c \n"; 
} 

parseTxtAsCode($a); 
echo "\n\n\n I am global and this is what I got from the eval function: $d"; 
संबंधित मुद्दे

 संबंधित मुद्दे