/ / PHP MySQL में डालने पर वर्णों में स्लैश जोड़ रहा है - php, html, mysql, सुरक्षा, फ़िल्टरिंग

PHP MySQL - php, html, mysql, सुरक्षा, फ़िल्टरिंग में डालने पर वर्णों में स्लैश जोड़ रहा है

जब "उदाहरण के लिए एक पाठ क्षेत्र में टाइप किया जाता है, तो PHP पहले एक डालता है।

मैं फ़िल्टरिंग के लिए निम्नलिखित का उपयोग कर रहा हूँ:

$comment_body = $_POST["comment_body"];
$comment_body = nl2br(htmlspecialchars($comment_body));
$comment_body = mysqli_real_escape_string($db_conx,$comment_body);

मैं इस स्लेश को दिखने से कैसे रोकूँ?

उत्तर:

जवाब के लिए 0 № 1

Mysqli_real_escape_string क्या करता है। यह केवल डेटाबेस में डेटा डालते समय उपयोग किया जाना चाहिए। यदि आप $ comment_body का उत्पादन करने जा रहे हैं तो स्निपेट की अंतिम पंक्ति को छोड़ दें। यदि आप दोहरी पलायन कर रहे हैं तो यह शायद इसका परिणाम है जादू उद्धरण विन्यास निर्देश।


उत्तर № 2 के लिए 1

के संबंध में आपको स्वच्छता का उपयोग करना चाहिए प्रसंग:

जब डेटाबेस के लिए बचत केवल उपयोग करें mysqli_real_escape_string ()। जब HTML के लिए परिवर्तनीय उत्पादन तो बस साथ चलते हैं htmlspecialchars ().

स्लैश को स्वचालित रूप से जोड़ने की सेटिंग के कारण हो सकता है magic_quotes_gpc, जो पहले से ही PHP के नए संस्करणों में हटा दिया गया है, लेकिन आप अपनी सेटिंग्स की जांच कर सकते हैं phpinfo ();


जवाब के लिए 0 № 3

यह शायद इसलिए हो सकता है क्योंकि आपके पास जादू के उद्धरण हैं: magic_quotes_gpc अगर ऐसा है तो आप इसका उपयोग करके इसे निष्क्रिय कर सकते हैं इस