为了简单起见,我在React中创建了一个从DB中提取的项目列表。其中一部分是我们可以删除/添加项目到列表中,我也想在DB中反映出来。
在创建项目时,我为它生成一个唯一的id并存储在DB中,然后当呈现列表时,我将其生成的唯一id设置为div中的id属性。因此,当用户选择要删除的项目时,我可以引用id属性并Map回我的DB以进行删除。
我还将在访问数据库之前验证唯一ID的格式/长度是否正确,以防止mysql注入。
例如:
<div>
<div id='UniqueIdOfItem1'
Item 1
</div>
<div id='UniqueIdOfItem2'
Item 2
</div>
<div id='UniqueIdOfItem3'
Item 3
</div>
</div
字符串
这是一个不好的做法吗?和安全风险?如果是的话,还有什么其他的选择可以去?
2条答案
按热度按时间yx2lnoni1#
不,这不是一个坏的做法,相反,这是一个很好的做法,因为react需要一个
.map
ped数组具有唯一标识符。然而,你所建议的方式并不是一种真正的React方式。
在react中,不建议直接引用HTML属性,但我们可以
handle
做一些不同的事情。在react中,我们可以将这个唯一标识符作为key
传递到Map数组上,并将handler
添加到元素中。对于您的示例,这可能类似于:
字符串
xggvc2p62#
在HTML属性(如“id”)中存储重要或机密信息(如唯一标识符)会带来安全隐患,因为它会直接在客户端标记中暴露潜在的有价值数据。这可能导致安全漏洞,因为恶意用户可以操纵或猜测这些值,以获得未经授权的访问或在应用程序中执行意外操作。在服务器端进行操作,您可以在其中实施适当的身份验证、授权和验证机制,以保证数据完整性并防范安全风险。