首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php代码上的Sql注入

php代码上的Sql注入
EN

Stack Overflow用户
提问于 2016-12-16 19:37:26
回答 2查看 44关注 0票数 1

大家好,下面给出的php代码是我的,我需要知道它是否易受攻击。

代码语言:javascript
复制
$sql = "select Email,Password       from user where Email='$emailid'";
$ctr=0;         
    try
    {
       $result = $con->query($sql);
       foreach($result as $row)
       {            
     $ctr++;
     $pword = $row['Password'];

    }
   }
catch(PDOException $e)
  {
      $errTyp = "danger";
    $errMSG = "Something went  wrong, try again later...";
  }

if($ctr == 0)
{
$errTyp = "danger";
$errMSG = "Invalid Username |  Password";
}

else
{
 if( $pword==$password ) {
          $_SESSION['Id']=$emailid; 

这是我的php登录页面代码,只是为了确认一下,上面的代码对sql注入有多大的脆弱性?

EN

回答 2

Stack Overflow用户

发布于 2016-12-16 19:43:34

很简单,

代码语言:javascript
复制
 $sql = "select Email,Password from user where Email='$emailid'"; 

如果$emailid可以是,

代码语言:javascript
复制
  $emailid = 'or 1=1';

注射,

代码语言:javascript
复制
 $sql = "select Email,Password from user where Email=''or 1=1"; 

它将返回数据库的第一条记录。

所以攻击就会发生!

票数 0
EN

Stack Overflow用户

发布于 2016-12-16 19:44:56

我认为主要的问题可能是$emailid的起源

代码语言:javascript
复制
Email='$emailid'"

您不能信任从客户端($_POST,$_GET)发送的数据。这是安全方面的一个主要原则。所以,如果你已经清理/过滤了POST变量,你应该没问题。如果不是,则至少应该使用预准备语句

http://php.net/manual/en/pdo.prepare.php

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41183542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档