Php 我的代码是否阻止人们查找用户ID?

Php 我的代码是否阻止人们查找用户ID?,php,jquery,Php,Jquery,我正在用PHP开发一个页面,其中显示患者列表 我希望$\u POST['userID']选择相应的患者(通过触发单击),问题是现在我不希望向用户显示userID(它位于数据变量中)。我以前使用过此代码: PHP <?php while ($row = $res->fetch_row()) { ?> <td data-id="<?php echo $row[1]; ?>" class="patient"> </td> <?

我正在用PHP开发一个页面,其中显示患者列表

我希望$\u POST['userID']选择相应的患者(通过触发单击),问题是现在我不希望向用户显示userID(它位于数据变量中)。我以前使用过此代码:

PHP

<?php while ($row = $res->fetch_row()) { ?>
    <td data-id="<?php echo $row[1]; ?>" class="patient">
    </td>
<?php } ?>
    <?php 
        $i=0;
        while ($row = $res->fetch_row()) 
        { 
           $patientArray[$i] = $row[1]; 
    ?>
        <td data-pos="<?php echo $i; ?>" class="patient">
        </td>

    <?php 
            $i++;
        } 
    ?>

和平='';
if(pacient==userID)
{
patientpos='';
}
$('.patient')。每个(功能(索引,元素)
{   
if($(elem).data('pos')==patientpos)
{
$(elem).trigger('click');
}
})

那么,第二种解决方案是否会阻止人们查找用户ID?我的代码中有什么不安全的地方吗?还是更简单的解决方案?

您的代码打开了一罐蠕虫。您如何保证您的结果集始终以相同的顺序保持一致

您可以打开“患者列表”页面

Order ID Name 1 154 Abraham Lincoln 2 97 Abraham Setrakian 订单ID名称 1154亚伯拉罕·林肯 297亚伯拉罕·塞特拉基安 然后一些使用进入另一个病人“亚伯拉罕·马斯洛”,那么你就陷入了困境

Order ID Name 1 154 Abraham Lincoln 2 998 Abraham Maslow 3 97 Abraham Setrakian 订单ID名称 1154亚伯拉罕·林肯 2998亚伯拉罕·马斯洛 3 97亚伯拉罕·塞特拉基安 因为列表中的第二个不是Setrakian。卡布姆


使用一些轻型双向加密工具,如“RayCrypt”。Salt
UserID
和页面特定键,然后使用该键。当javascript调用服务器端代码时,您知道如何解密代码。由于该代码带有特定于页面的键,因此不能用于任何其他用途,如查看“”

,您可能需要研究使用UUID并找到一个php类来为您创建UUID

来自维基百科:

UUID的目的是使分布式系统能够唯一地识别信息,而无需进行重大的中央协调。在这方面,“独特”一词应被理解为“实际独特”而不是“保证独特”。由于标识符的大小有限,两个不同的项目可能共享同一标识符。需要选择标识符大小和生成过程,以便在实践中充分避免这种情况。任何人都可以创建一个UUID,并使用它来识别某些东西,并且有合理的信心,即任何人都不会无意中创建相同的标识符来识别其他东西。因此,使用UUID标记的信息可以稍后合并到单个数据库中,而无需解决标识符(ID)冲突

这里有一本关于如何使用指南的好书


您是否在浏览器中“查看源代码”并按ctrl-F键输入用户名?
userID=''否,用户id未隐藏。为什么要把它藏起来?暴露它会带来什么危险用户查看它的ID不存在安全问题。更好地提高登录的安全性,用户查看的唯一URL等等。您在客户端代码中显式显示
用户ID
用户ID='';
),因此,这不会阻止人们发现它。@conward如果有人告诉你它是可见的是一种危险,他们应该能够证明他们的推理是正确的,并解释另一种选择(如果他们两者都做不到,他们不应该做审查)。向他们寻求帮助;代码检查过程应该是一个学习的机会,而不仅仅是批评。data pos变量是创建时数组中元素的顺序,它不会改变,例如,如果Lincoln和Setrakian改变位置,data pos中的值仍然相同。还是我想错了?我要试试加密技术。谢谢 Order ID Name 1 154 Abraham Lincoln 2 97 Abraham Setrakian Order ID Name 1 154 Abraham Lincoln 2 998 Abraham Maslow 3 97 Abraham Setrakian