This questionsystem
कमांड और पास करने वाले चर का उपयोग करने के बारे में बात करता है।मैं सी ++ में 'सिस्टम' कमांड में भेजे गए चर से कैसे बच सकता हूं?
string cmd("curl -b cookie.txt -d test=");
cmd += line;
cmd += " http://example.com";
system(cmd.c_str());
टिप्पणियों में से एक कहा गया है कि अगर line
पारित किया गया था और foo & fire_nukes.exe & REM
निहित तो यह बहुत संभव है कुछ बुरा हो सकता है है: यहाँ एक उदाहरण यह देता है।
PHP में escape_shell_args
नामक एक शानदार फ़ंक्शन है जिसका उपयोग प्रोग्राम में पारित होने वाले पैरामीटर से बचने के लिए किया जा सकता है। क्या सी ++ के पास ऐसा करने का कोई तरीका है?
आप हमेशा 'फोर्क' और 'exec' का उपयोग कर सकते हैं ... –
' मैन फोर्क ',' मैन एक्जिक ':-) (आप वास्तव में "मैं लिनक्स का उपयोग कर रहा हूं" अगर आप' टी 'मैन' पता नहीं है!) –
'मैन 3 exec'। या शायद तुम्हारे लिए: 'आदमी आदमी' ...? वास्तव में पूछने के लिए –