Friday 15 May 2015

php - Using is_numeric for form validation -


मेरे पास कुछ लिंक्स संरचित हैं जैसे कि ...

  http: // domain Com? Problem_id = 23 & amp; course_id = 4   

GET "फ़ील्ड्स" (problem_id और course_id) से अपेक्षित मान पूर्णांक होना चाहिए क्या मैं केवल यह कहकर इस डेटा को मान्य कर सकता हूं ...

  यदि (is_numeric ($ _ GET ['problem_id'])) {// यह सुरक्षित है, सामान करते हैं } Else {echo 'ऐसा प्रतीत होता है कि आपने एक समस्या गलत तरीके से सबमिट की है कृपया सहायता के लिए हमसे संपर्क करें'; बाहर जाएं; }   

या यह अभी भी एसकेएल इंजेक्शन, आदि जैसे खराब करने के लिए खुला है?

प्रस्तावित समाधान

  $ int_problem_id = (int ) $ _GET ['problem_id']; अगर (ctype_digit ($ int_problem_id)) {// यह सुरक्षित है, इसलिए सामान करते हैं } Else {echo 'ऐसा प्रतीत होता है कि आपने एक समस्या गलत तरीके से सबमिट की है कृपया सहायता के लिए हमसे संपर्क करें'; बाहर जाएं; }    

हां, यह समाधान है इसके अलावा, आप इसके अतिरिक्त इंट को डालें।

  $ integer = (int) $ _GET ['problem_id'];   

आपको अपने डेटाबेस के लिए सभी इनपुट को सुरक्षित करना चाहिए, भले ही संख्यात्मक मान कोई नुकसान नहीं पहुंचेगा क्योंकि वे विशेष प्रतीकों को शामिल नहीं करते हैं।

No comments:

Post a Comment