php - 为初学者制作 php 脚本以允许用户访问其信息的指南

标签 php mysql

这是我第一次尝试用 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;
}
?>

我想要实现的是,我有一个用户数据库,其中包含用户的姓名和唯一的 ID 代码作为唯一的个人信息,并且他们的帐户中还留有积分列表。我想要的是让他们输入两条唯一(但不敏感)的信息,例如他们的身份证号和姓氏,并能够检索他们帐户中的可用积分数量。目前,代码并未反射(reflect)我计划中的所有数据,但使用它我可以进行查找,其中两条信息必须正确才能显示结果。

我主要担心的是我遗漏了一些有关安全的内容。数据库中可用的信息不是很敏感。姓氏是常用的,唯一的 ID 号即使被其他人知道也没有什么值(value)。在最坏的情况下,如果另一个用户能够将其他人的姓氏与他们的 ID 号相匹配,他们就能够查找他们的帐户中还剩下多少积分,而这同样没有什么值(value)。

我的这个想法正确吗?或者我应该尝试为这个项目实现一些更安全和更复杂的东西?我感谢任何帮助。

最佳答案

您的说法是正确的,用户将能够访问其他用户的信息,因此是否要存储以后用户之间可以访问的任何敏感用户信息取决于您。如果是这样,您只需实现一些基本的用户注册功能/安全性,如果您是初学者程序员,无论如何您最终都会想研究一下。

关于php - 为初学者制作 php 脚本以允许用户访问其信息的指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51146547/

相关文章:

mysql - 日期时间在哪里?

php - 如何获取mysql列名和值

php - 发射箱喷口

php - UPS Rates API 提供低价

php - 我如何检查我的 MySQL 表以确保我没有输入相同的内容两次?

php - Magento FPC Cache Warm 与用户组、wget、Lesti FPC

php - jQuery 将复选框值设置为 URL 并获取 PHP 中的值作为数组并使用 NOT IN 查询它

mysql - 按标签获取相关帖子

php - 如何向mysql插入多行数据

php - 来自数据库的类别树。仅可点击 cat_parent_id> 0