PHP聊天-在html5中存储id
PHP Chat - Storing id in html5?
我正在尝试使用PHP创建一个简单的聊天。一切都在按预期进行,但却遇到了潜在的"漏洞"。我使用AJAX来检索滚动上的所有聊天数据(很像Facebook、Twitter等)。现在问题来了:我目前正在将聊天id存储在动态创建的div中。例如"
<div class="chat" chat_id="4">
....
</div>
可以通过浏览器更改chat_id,这将导致任何输入的文本都存储在数据库中的错误id下。防止这种情况发生的最佳方法是什么?
我目前想到了一种方法,将所有检索/启动的聊天详细信息(发件人、聊天id)存储在$_SESSION变量中。这基本上是为了验证目的,以确保聊天id对当前用户有效。
有更好的方法吗?非常感谢。
您可以在这里使用加密,这里有一个128位Rijndael加密的例子
<?php
/*
creating cipher object using Rijndael encyrption algorithm with Cipher-block chaining (CBC) as mode of AES encryption
Here I have chosen 128 bit Rijndael encyrption
*/
$cipher = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');
$key = 'abcdefghijklmnopqrstuvwxyzABCDEF'; // choose a strong iv (32 bytes)
$iv = 'abcdefghijklmnop'; // choose a strong iv (16 bytes)
$plainText = 'This is plain text.'; //here you can use your "id" that you want to encrypt
function encrypt($data, $key, $iv) {
return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv));
}
function decrypt($data,$key,$iv) {
return mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, base64_decode($data), MCRYPT_MODE_CBC, $iv);
}
echo $ciphertext = encrypt($plainText, $key, $iv);
echo "<br>";
echo $plaintext = decrypt($ciphertext, $key, $iv);
相关文章:
- 设置 HTML 自定义属性与在 ID 属性中存储信息
- 使用 JavaScript 在本地存储中存储多个 ID
- 按 ID 存储关联数据
- 如何将WordPress帖子ID传递到HTML5本地存储
- 在Firebase中存储ID列表
- PHP聊天-在html5中存储id
- 向本地存储中的选定ID发出警报(MySQL响应)
- 使用科尔多瓦在我的网络服务器上存储 GCM ID 不起作用
- 如何在 ID 属性中存储 HTML 标记
- 将 iframe 的 id 存储在 javascript 变量中
- HTML:要存储实体 id 的元素/属性
- 当我在 Dojo 中左键单击树行(树节点)时,如何从对象存储中获取 ID
- 会话节点.js + 护照.js + Redis,按 user.id 存储会话
- 如何从浏览器的 cookie 存储中删除会话 ID
- 在一个页面上多次使用相同的本地存储 ID
- 存储动态创建的对话框的值 (ID)
- 在 Javascript 中创建存储数组,并在每次单击时推送元素 ID
- Javascript Redux - 如何通过 id 从存储中获取元素
- 关于在HTML中存储ID(如Ticket ID、Case ID)的想法
- 可以存储id的标记编辑器