PHP mysql_real_escape_string() ਫੰਕਸ਼ਨ
ਵਿਵਰਣ ਅਤੇ ਵਰਤੋਂ
mysql_real_escape_string() ਫੰਕਸ਼ਨ ਵਿੱਚ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਚਾਰਟਰਾਂ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ ਚਾਰਟਰਾਂ ਦਾ ਮੁੱਕਰ ਕਰਦਾ ਹੈ。
ਹੇਠ ਲਿਖੇ ਚਾਰਟਰਾਂ 'ਤੇ ਪ੍ਰਭਾਵ ਪਾਉਂਦੇ ਹਨ:
- \x00
- \n
- \r
- \
- '
- "
- \x1a
ਸਫਲ ਹੋਣ ਤੇ ਇਹ ਫੰਕਸ਼ਨ ਬਦਲੇ ਹੋਏ ਚਾਰਟਰ ਦੀ ਲਿਸਟ ਵਾਪਸ ਦੇਵੇਗਾ। ਅਫਸੁਸ ਹੋਣ ਤੇ false ਵਾਪਸ ਦੇਵੇਗਾ。
ਵਿਵਰਣ
mysql_real_escape_string(string,connection)
ਪੈਰਾਮੀਟਰ | ਵਿਵਰਣ |
---|---|
string | ਲਾਜ਼ਮੀ। ਮਿਸ਼ਰਤ ਮਾਇਕਰੋਸਾਫਟ ਕੁਨੈਕਸ਼ਨ ਨੂੰ ਦੱਸੋ। ਜੇਕਰ ਇਸ ਨੂੰ ਨਾ ਦੱਸਿਆ ਜਾਵੇ ਤਾਂ ਪਿਛਲੇ ਕੁਨੈਕਸ਼ਨ ਵਰਤਿਆ ਜਾਵੇਗਾ。 |
connection | ਵਾਲੀਆਂ |
ਵਿਵਰਣ
ਇਹ ਫੰਕਸ਼ਨ string ਵਿੱਚ ਵਿਸ਼ੇਸ਼ ਅੱਕਸ਼ਰਾਂ ਦਾ ਮੁੱਕਰ ਕਰਨ, ਅਤੇ ਜੋੜੇ ਵਰਤਮਾਨ ਚਾਰੀਟੈਕਟ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਦੇ ਹੋਏ, ਇਸ ਤਰ੍ਹਾਂ ਸੁਰੱਖਿਅਤ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ mysql_query().
ਸੁਝਾਅ ਅਤੇ ਟਿੱਪ
ਸੁਝਾਅ:ਇਹ ਫੰਕਸ਼ਨ ਵਰਤ ਕੇ ਡਾਟਾਬੇਸ ਹਮਲੇ ਤੋਂ ਬਚਣ ਦੀ ਸੁਰੱਖਿਆ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ
ਇਨਸਟੈਂਸ
ਉਦਾਹਰਣ 1
mysql_real_escape_string($user); $pwd = mysql_real_escape_string($pwd); $sql = "SELECT * FROM users WHERE user='" . $user . "' AND password='" . $pwd . "'" // ਹੋਰ ਕੋਡ میوزیکل کلوز($con); ?>
ਉਦਾਹਰਣ 2
ਡਾਟਾਬੇਸ ਹਮਲਾ। ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ ਕਿ ਅਸੀਂ ਯੂਜ਼ਰ ਨਾਮ ਅਤੇ ਪਾਸਵਰਡ 'mysql_real_escape_string()' ਫੰਕਸ਼ਨ ਲਗਾ ਦਿੰਦੇ ਹਾਂ ਤਾਂ ਕਿ ਕੀ ਹੋਵੇਗਾ:
ਤਾਂ SQL ਕਿਊਰੀ ਇਸ ਤਰ੍ਹਾਂ ਹੋਵੇਗੀ:
SELECT * FROM users WHERE user='john' AND password='' OR ''=''这意味着任何用户无需输入合法的密码即可登陆。
例子 3
预防数据库攻击的正确做法:
stripslashes($value); } // 如果不是数字则加引号 اگر (!ایس نویکمیک($value)) { $value = "'" . میوزیکل ریل ایسکپ نینگ سٹرنگ($value); . "'"; } رفتار $value; } $con = میوزیکل کنیکٹ("localhost", "hello", "321"); اگر (!$con) { دائی('نہیں جڑ سکا: ' . میوزیکل اریئر()); } // بجائی میوزیکل کوئری کا استعمال کریں $یوزر = چیک انپوت($_POST['یوزر']); $pwd = چیک انپوت($_POST['pwd']); $sql = "SELECT * FROM users WHERE یوزر=$یوزر اور پاسورڈ=$pwd"; میوزیکل کوئری($sql); میوزیکل کلوز($con); ?>