PHP code being reported as malware

276 Views Asked by At

I have been working on a website on a localhost and have just tried to upload it to a free webserver so I can get some testers, for some reason my code is being reported as malware and is being blocked by my antivirus, this means I can't see anything when visiting it apart from the ERR_CONNECTION_RESET. Have you guys got any ideas as to why this code is being detected as malware?

LOGIN.php

<?php
include('classes/db.php');

if (db::maintenance()) {
  die('This site is currently going under maintenance, please check back again shortly.');
}

if (isset($_POST['submit'])) {
  $username = $_POST['username'];
  $password = $_POST['password'];

  if (db::query('SELECT username FROM users WHERE username=:username', array(':username'=>$username))) {
    if (password_verify($password, db::query('SELECT password FROM users WHERE username=:username', array(':username'=>$username))[0]['password'])) {
      echo "Logged in!";
      $cstrong = True;
      $token = bin2hex(openssl_random_pseudo_bytes(64, $cstrong));
      $user_id = db::query('SELECT id FROM users WHERE username=:username', array(':username'=>$username))[0]['id'];
      db::query('INSERT INTO login_tokens VALUES (NULL, :token, :user_id)', array(':token'=>sha1($token), ':user_id'=>$user_id));
      setcookie("SNID", $token, time() + 60 * 60 * 24 * 7, '/', NULL, NULL, TRUE);
      setcookie('SNID_', '1', time() + 60 + 60 * 24 * 3, '/', NULL, NULL, TRUE);
      header('Location: index.php');
    } else {
      echo "Incorrect password";
    }
  } else {
    echo "User not registered!";
  }
}

?>

 <h1>Login to your account</h1>

<form action="login.php" method="post">
  <input type="text" name="username" value="" placeholder="Username"><p />
  <input type="password" name="password" value="" placeholder="Password"><p />
  <input type="submit" name="submit" placeholder="Login"><p />
</form>

DB.php (I have changed the connection to false data, and changed it to the correct data when uploading it to the host.)

<?php
class db {
  private static function connect () {
    $conn = new PDO('mysql:host=localhost;dbname=users;,charset=utf8', 'root', '');
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    return $conn;
  }

  public static function query ($sql, $params = array()) {
    $statement = self::connect()->prepare($sql);
    $statement->execute($params);

    if (explode(' ', $sql)[0] == 'SELECT') {
     $result = $statement->fetchAll();
     return $result;
    }
  }

  public static function notify ($userid) {
    $notifications = db::query('SELECT forum_members.forum_id, notifications.user_id, notifications.post_id, notifications.forum_id, notifications.post_body, notifications.creation, notifications.type FROM forum_members, notifications WHERE (notifications.forum_id=forum_members.forum_id OR notifications.forum_id=0) AND notifications.user_id=forum_members.user_id ORDER BY notifications.post_id DESC');
    return $notifications;
  }

  public static function maintenance () {
    return false;
  }
}
 ?>
1

There are 1 best solutions below

0
On BEST ANSWER

Which type of address do you use to enter the website? PHP source doesn't display to browsers, so PHP isn't the problem. If you enter in with a hostname (Ex. .....2cc.brad....net) Then it'll automatically get detected as a "malware" for beginner safety, if ur accessing it from localhost/127.0.0.1 it should be fine, but if ur accessing it from a host that's marked as malware, than yep.