1

我有一个包含 3 列的 MySQL 表:

MySQL db table
+--+----+-------------+
|id|data|display_order|
+--+----+-------------+
|0 |0   |2            |
+--+----+-------------+
|1 |1   |1            |
+--+----+-------------+
|2 |1   |2            |
+--+----+-------------+
|3 |1   |3            |
+--+----+-------------+
|4 |1   |4            |
+--+----+-------------+
|5 |1   |5            |
+--+----+-------------+

使用 PHP 在 HTML 中生成 div:

HTML generated from DB:
<div>
    Div From id 1
    <button>Remove Div</button>
</div>
<div>
    Div From id 2
    <button>Remove Div</button>
</div>
<div>
    Div From id 3
    <button>Remove Div</button>
</div>
<div>
    Div From id 4
    <button>Remove Div</button>
</div>
<div>
    Div From id 5
    <button>Remove Div</button>
</div>
<button>Add Div</button>
<button>Update DB</button>

然后可以通过按上面的添加或删除 div 按钮使用 JavaScript 更改生成的 div:

HTML changed:
 <div>
    Div From id 1
    <button>Remove Div</button>
</div>
<div>
    New Div 1
    <button>Remove Div</button>
</div>
<div>
    Div From id 2
    <button>Remove Div</button>
</div>
<div>
    Div From id 4
    <button>Remove Div</button>
</div>
<div>
    Div From id 5
    <button>Remove Div</button>
</div>
<div>
    New Div 2
    <button>Remove Div</button>
</div>
<button>Add Div</button>
<button>Update DB</button>

一旦在 HTML 中更改了 div,并且是时候更新数据库(通过按“更新 DB”),我怎样才能正确更新数据库?我只想在按下更新按钮时更新数据库,我需要知道要更新什么,插入什么,删除什么。我还想更新显示顺序以反映添加或删除的 div。

我的直觉是将表格 ID 和显示顺序放在我的 HTML div 的隐藏字段中,但我不确定这样做是否安全,这会带来某种安全风险吗?我不确定如何进行,有人介意给我一些建议吗?

谢谢!

4

1 回答 1

0

我不明白你为什么不能这样做。

为了修改数据库,您发布到的 PHP 文件中会出现安全漏洞。确保请求只能来自本地 IP,并将要添加和删除的 div ID 连同命令一起传递给脚本。确保您没有将数据从 POST 请求直接传递到数据库中。

在本地维护页面的状态,可能会以低频率轮询更新数据。

于 2013-06-19T01:16:31.770 回答