簡體   English   中英

is_numeric和isEmail函數

[英]is_numeric and isEmail functions

我創建了字段( $login ),用戶應使用電子郵件或電話號碼注冊,因此我想進行安全檢查以進行驗證

我可以同時使用兩個功能嗎? 我嘗試了以下代碼,但是沒有用。

if(!is_numeric || isEmail($login)) {
    $mesaj = '<div class="msg"><div class="error">Add Valid Email or Phone Number</div></div>';
}else{
    $db->Query("UPDATE `users` SET `login`='".$login."' WHERE `id`='".$data['id']."'");
    $mesaj = '<div class="msg"><div class="success">Success</div></div>';
}

任何想法?

您的代碼中有一個錯誤: if(!is_numeric || isEmail($login))

您沒有使用is_numeric進行函數調用。 您需要為其提供一個參數: is_numeric($myVar)

您的代碼中也有一個SQL注入問題。 切勿串聯字符串來構建查詢。 請改用參數化查詢


可能的攻擊媒介:

/***
 * Data input from client browser / app
 ***/
$data['id'] = "0' OR id > 0 OR id = '1";
$login = "', `password`='hacked";

"UPDATE `users` SET `login`='".$login."' WHERE `id`='".$data['id']."'"

輸出SQL:

 "UPDATE `users` SET `login`='', `password`='hacked' WHERE `id`='0' OR id > 0 OR id = '1'" 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM