मैं हैकर्स के समूह के साथ परेशानी में हूं। वे मेरे ग्राहक की साइट कई बार काट दिया, और मेरे मुवक्किल :(अधिक गुस्सा मेरे मुवक्किल अपने डेटाबेस (जो सैकड़ों रिकॉर्ड है) खो दिया है, और अब मैं कुछ और परिचय अनुसरण कर रहा हूँ सब :(SQL इंजेक्शन को रोकने के लिए mysql_real_escape_string का उपयोग कहां करें?
में प्रवेश करने के लिए किया था हो जाता है;
- तय फाइल अनुमति
- बदली हुई एफ़टीपी और मेजबान लॉगिन जानकारी
- को मंजूरी दे दी सभी दूरस्थ mysql तक पहुँचता
अब SQL इंजेक्शन मुद्दे पर काम कर रहे। मैं mysql_real_escape_ जोड़ा व्यवस्थापक पैनल लॉगिन paramaters के लिए स्ट्रिंग। तो मुझे यह mysql_real_escape_string कहां उपयोग करना चाहिए? मेरे पास साइट पर कुछ ईमेल फॉर्म हैं, मुझे नहीं लगता कि मुझे वहां जोड़ने की जरूरत है ...
मेरे पास एक मुख्य पृष्ठ के रूप में index.php है। क्या मुझे index.php?somesql=
जैसे यूआरएल के माध्यम से किसी भी एसक्यूएल इंजेक्शन हमले को रोकने के लिए इस पृष्ठ के लिए कुछ भी करना चाहिए?
कृपया मुझे सलाह दें! मैं बहुत सराहना करता हूं !!! :(
उदाहरण के लिए
:।
मैं ऐसे कोड है:
public function showDetails($id) {
// SQL Jobs Details
$this->sql_job = "SELECT * FROM jobs WHERE id=".mysql_real_escape_string($id);
$this->rst_job = mysql_query($this->sql_job);
$this->row_all = mysql_fetch_assoc($this->rst_job);
// SQL State
$this->sql_state = "SELECT title FROM state WHERE id=" . $this->row_all[$this->tbl_jobs['f4']];
$this->rst_state = mysql_query($this->sql_state);
$this->row_state = mysql_fetch_assoc($this->rst_state);
........
यह काफी $ आईडी के लिए mysql_real_escape_string उपयोग करने के लिए है के लिए $ इस- नहीं> row_all [$ this-> tbl_jobs ['f4']]
मैं एक एमएसएसएलएल लड़का हूं इसलिए उम्मीद है कि यह लागू होता है - क्यों एक वेब साइट लॉगिन को कुछ हटाने की अनुमति भी होती है? डेटाबेस खोने के लिए, बैकअप कहां हैं ?? –
"चुनें * नौकरियों से जहां id ="। Mysql_real_escape_string ($ id) एसक्यूएल इंजेक्शन के लिए कमजोर है। $ id = "1 या नींद (50)" – rook
रुकने के लिए +1। mysql_real_escape_string एक जादू बुलेट नहीं है, यह केवल एक स्ट्रिंग एस्केपिंग फ़ंक्शन है और केवल उद्धरण के अंदर उपयोग होने पर ही काम करता है। – Cheekysoft