Руководство для начинающих по созданию сценария php, чтобы пользователи могли получить доступ к своей информации

0

Это моя первая попытка сделать что-то простое с php и mysql. Я в основном просто научился основам модифицировать некоторый пример кода и заставить его работать для моих данных, поскольку я не профессиональный программист.

Во-первых, вот простой код, с которым я работаю:

<?php
$db = mysqli_connect('localhost','root','mypass','test') or die("Error connecting to database: ".mysqli_error());
?>

<?php
$query = $_GET['query']; 
$query2 = $_GET['query2'];

$min_length = 3;

if(strlen($query) >= $min_length && (strlen($query2) >= $min_length)){ 

    $query = htmlspecialchars($query); 

    $query = mysqli_real_escape_string($db, $query);

    $raw_results = mysqli_query($db, "SELECT * FROM hope
        WHERE ('name' LIKE '%".$query."%') AND ('boop' LIKE '%".$query2."%')") or die(mysqli_error($db));

    if(mysqli_num_rows($raw_results) > 0){ // if one or more rows are returned do following

        while($results = mysqli_fetch_array($raw_results)){

            echo "<p><h3>".$results['name']."</h3>".$results['boop']."</p>";

        }

    }
    else{ // if there is no matching rows do following
        echo "No results";
    }

}
else{ // if query length is less than minimum
    echo "Minimum length is ".$min_length;
}
?>

То, что я пытаюсь сделать, состоит в том, что у меня есть база данных пользователей с их именем и уникальным идентификационным кодом как уникальная личная информация, и у них есть список точек, оставшихся в их учетной записи. Я хочу, чтобы они вводили две части уникальной (но не чувствительной) информации, такие как их идентификационный номер и фамилию, и могли получать количество доступных точек в своем аккаунте. В настоящий момент код не отражает все данные в моем плане, но с ним я могу выполнить поиск, где две части информации должны быть правильными, чтобы отобразить результат.

Моя главная забота заключается в том, что я что-то упустил в отношении безопасности. Информация, доступная в базе данных, не очень чувствительна. Фамилии обычно используются, а уникальный идентификационный номер не имеет большого значения, даже если он известен другому человеку. В худшем случае, если другой пользователь сможет сопоставить кому-то еще фамилию с их идентификационным номером, они смогут найти, сколько точек осталось в их учетной записи, что опять же имеет очень мало значения.

Правильно ли я в этой линии мышления? Или я должен попытаться реализовать что-то более безопасное и сложное для этого проекта? Я ценю любую помощь.

  • 1
    Что вы беспокоитесь сейчас, чтобы получить очки или безопасность?
  • 0
    Этот пример кода испорчен. Не используйте ничего, где бы вы ни получили. Кто бы это ни написал, он не знает, что они делают. Смотрите также: stackoverflow.com/a/7810880/362536
Теги:

1 ответ

0

Вы правы в том, что пользователи смогут получать доступ к информации других пользователей, поэтому вам нужно знать, будете ли вы хранить какую-либо конфиденциальную информацию пользователя, которая будет позже доступна между пользователями. Если это так, вы просто реализуете некоторые базовые функции/безопасность регистрации пользователей, которые, если вы начинающий программист, вам захочется заглянуть в это, в конце концов, в любом случае.

  • 0
    Ну, причина, по которой я пошел по этому пути, заключается в том, что я хочу, чтобы пользователи могли быстро и без регистрации получать доступ к своей информации. Им уже нужно зарегистрировать учетную запись, чтобы сделать заказ в нашей системе бронирования, и им нужно зарегистрировать учетную запись в онлайн-сервисе платежей, если они хотят оплатить кредит через Интернет. Я считаю, что создание еще одного имени пользователя и пароля, которым они должны управлять, было бы большим препятствием.
  • 0
    До тех пор, пока вы не предоставляете конфиденциальную информацию пользователей и не предоставляете пользователю возможность обновлять баллы других пользователей (или другие детали), все должно быть в порядке.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню