Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्या मार्कडाउन (स्ट्रिप_टैग के साथ) एक्सएसएस हमलों को रोकने के लिए पर्याप्त है?

मुझे लगता है कि इनपुट से किसी भी HTML टैग को अलग करने से आपको कुछ बहुत सुरक्षित मिलेगा - सिवाय इसके कि अगर किसी को मार्कडाउन में कुछ गड़बड़ डेटा को इंजेक्ट करने का कोई तरीका मिल जाए, तो इससे कुछ और गड़बड़ आउटपुट उत्पन्न होता है ^^

फिर भी, मेरे दिमाग में दो बातें आती हैं:

पहला वाला: strip_tags चमत्कारी कार्य नहीं है :इसमें कुछ खामियां हैं...
उदाहरण के लिए, यह इस तरह की स्थिति में '<' के बाद सब कुछ छीन लेगा:

$str = "10 appels is <than 12 apples";
var_dump(strip_tags($str));

मुझे जो आउटपुट मिलता है वह है:

string '10 appels is ' (length=13)

जो आपके उपयोगकर्ताओं के लिए उतना अच्छा नहीं है :-(


दूसरा : किसी न किसी दिन, आप कुछ HTML टैग्स/विशेषताओं को अनुमति देना चाहेंगे; या, आज भी, आप यह सुनिश्चित करना चाहेंगे कि मार्कडाउन कुछ HTML टैग/विशेषताएँ उत्पन्न नहीं करता है।

HTMLPurifier जैसी किसी चीज़ में आपकी रुचि हो सकती है :यह आपको निर्दिष्ट करने की अनुमति देता है कि कौन से टैग और विशेषताओं को रखा जाना चाहिए, और एक स्ट्रिंग को फ़िल्टर करता है, ताकि केवल वे ही रहें।

यह मान्य HTML कोड भी उत्पन्न करता है -- जो हमेशा अच्छा होता है ;-)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JSON_OBJECTAGG () - MySQL में क्वेरी परिणामों से JSON ऑब्जेक्ट बनाएं

  2. codeIgniter इसके बजाय mysql_real_escape_string() का उपयोग करें। डेटाबेस कनेक्शन समस्या

  3. java.sql.SQLException:लोकलहोस्ट टेस्ट के लिए कोई उपयुक्त ड्राइवर नहीं मिला

  4. Mysql में क्लॉज में एक चुनिंदा स्टेटमेंट में मानों के क्रम के आधार पर छाँटें

  5. MySQL के लिए Navicat