2010-05-27 18 views
8

चूंकि ईमेल पते के लिए बहुत से वैध वर्ण हैं, तो क्या मान्य ईमेल पते हैं जो स्वयं XSS हमलों या SQL इंजेक्शन हो सकते हैं? मुझे इस पर वेब पर कोई जानकारी नहीं मिली।मान्य ईमेल पते - XSS और SQL इंजेक्शन

ई-मेल एड्रेस के स्थानीय-भाग इन ASCII वर्ण के किसी भी उपयोग कर सकते हैं:

  • अपरकेस और लोअरकेस अंग्रेज़ी अक्षरों (a-z, A-Z)
  • अंक 0 9
  • अक्षरों! # $% & '* + -/=?^_ `{| } ~
  • कैरेक्टर। (डॉट, अवधि, पूर्ण स्टॉप) बशर्ते कि यह अंतिम वर्ण नहीं है, और यह भी प्रदान किया जाता है कि यह लगातार दो या अधिक बार प्रदर्शित नहीं होता है (उदाहरण के लिए जॉन..डो @ example.com)।

http://en.wikipedia.org/wiki/E-mail_address#RFC_specification

मैं इन हमलों को रोकने के लिए कैसे नहीं पूछ रहा हूँ (मैं पहले से ही parametrized प्रश्नों एचटीएमएल शुद्ध उपयोग कर रहा हूँ और भागने /), इस अधिक एक-का-प्रमाण अवधारणा है।

पहली बात जो दिमाग में आई थी, 'OR [email protected] थी, सिवाय इसके कि रिक्त स्थान की अनुमति नहीं है। क्या सभी एसक्यूएल इंजेक्शन रिक्त स्थान की आवश्यकता है?

उत्तर

12

रिक्त स्थान की अनुमति दी जाती है अगर वे उद्धरण में संलग्न कर रहे हैं, हालांकि, तो "'OR 1=1--"@gmail.com एक वैध ई-मेल एड्रेस है। इसके अलावा, यह शायद का कोई खास महत्व है, लेकिन तकनीकी रूप से बोल रहा है, इन दोनों मान्य ई-मेल पते हैं:

' BAD SQL STUFF -- <[email protected]> 
[email protected] (' BAD SQL STUFF --) 

यहां तक ​​कि अगर यह संभव नहीं था, वहां अभी भी कोई कारण नहीं है कि आप paramaterized प्रश्नों का उपयोग नहीं किया जाना चाहिए है और उपयोगकर्ताओं को प्रदर्शित सभी उपयोगकर्ता द्वारा इनपुट डेटा एन्कोडिंग।

+0

किसी भी ईमेल पते की जांच करने के लिए http://isemail.info/ का उपयोग कर सकते हैं, या अन्यथा कुछ php फ़ंक्शन के माध्यम से इंजेक्शन योग्य ईमेल पते पर फ़िल्टर के साथ परीक्षण करें जैसे फ़िल्टर ईमेल मान्य करें। Isemail.info के आधार पर, पहला पता अमान्य है, और दूसरा पता है "पता संदेश के भीतर मान्य है लेकिन लिफाफे के लिए असम्बद्ध नहीं किया जा सकता है" – Kzqai

-5
/^[a-z0-9.-_+]@[a-z0-9.-]$/i 

मैं कि सभी ईमेल पतों की 99.9999% की तरह मेल खाता है लगता है;)

+1

बीटीडब्ल्यू। यह केवल यह सत्यापित करने के लिए है कि पाठ xss/sql इंजेक्शन इत्यादि के साथ पैक नहीं है या नहीं - यह ईमेल पता सत्यापित करने का कोई तरीका नहीं है। – Tobias