如何在PHP中阻止MSSQL注入?

Kel*_*sey 0 php sql forms sql-server sql-injection

我知道这是一个广泛涉及的主题,但在搜索谷歌的PHP的MSSQL注入预防后,我发现几乎没有.

这是我能找到的最接近的答案,但似乎答案是MySQL和不是MSSQL.

我正在使用的PHP代码允许管理员通过表单输入登录到网站以访问后端.此代码是在提交表单后记录管理员的代码:

<?php
  session_start();

  if($_SERVER['REQUEST_METHOD'] == "POST") {
$conn=mssql_connect('d','a','d');
mssql_select_db('d',$conn);
if(! $conn )
{
  die('Could not connect: ' . mssql_get_last_message());
}

    $username = ($_POST['username']);
    $password = ($_POST['password']);

    $result = mssql_query("SELECT * FROM back_end WHERE username='$username' AND
      password='$password'");
  if(mssql_num_rows($result) > 0) {
      $_SESSION['is_logged_in'] = 1;
      $_SESSION['backname'] = $username;
    }
  }

  if(!isset($_SESSION['is_logged_in'])) {
    header("location:logingbm.php");
    echo "<script>alert('Incorrect log-in information!');</script>";
  } else {
    header("location:../d/index.php");
  }
?>
Run Code Online (Sandbox Code Playgroud)

如果有人能给我一些提示我应该放入什么代码以防止恶意注入,我们将不胜感激.感谢您的任何帮助.

Mac*_*ity 5

您正在使用较旧的mssql扩展程序.从PHP 5.3开始不再可用.相反,现在有sqlsrv这个功能集包括运行预准备语句的能力,这是运行查询的最安全方式.