Javascript/PHP/Jquery-自动填充和数据加密
Javascript/PHP/Jquery - Autofill and Data Encryption
我正在寻找一种更好的自动完成函数/处理或从源代码视图编码特定数据的方法。
我有一个MYSQL数据库,里面有这样的客户信息:
Record | CompanyName | StreetAddress | City | State | Zip | Telephone
------------------------------------------------------------------------------
1 | Eatery | 123 Main St | NYC | NY | 10001 | 000-000-0000
------------------------------------------------------------------------------
2 | Jo's Gym | 456 2nd St | NYC | NY | 10001 | 000-000-0000
-------------------------------------------------------------------------------
etc....
然后我有一个搜索页面来搜索客户。这个搜索页面有一个文本输入框,可以将所有CompanyName抓取到一个数组中:
while( $row = $results->fetch_assoc() )
{
array_push($customerArray,$row['companyname']);
}
然后我使用位于此处的jquery自动完成函数(http://jqueryui.com/autocomplete/)
<script>
$(function() {
availableTags = <?php echo json_encode($customerArray); ?>;
$( "#customername" ).autocomplete({
source: availableTags
});
});
</script>
通过自动完成我的输入框,它可以正确工作
<label for="customername">Customer Name: </label>
<input type="text" name="companyname" id="customername" size="30">
<span id="customernamespan"></span>
所以一切都很顺利。我甚至有javascript验证,以确保输入的客户在列表中
我对以下内容的问题是,5000+CustomerName现在位于一个数组中,对于所有检查源代码的人来说都是可见的。
有什么方法可以隐藏这些信息吗?或者有更好的自动完成方法吗?
我认为唯一真正的方法是让一个中间页面验证客户名称并回显"最佳猜测"。
addnotes.php将有字段,CustomerName将是常规文本输入框。
checkCustomer.php将在$_POST中拥有所有数据,并在MySQL数据库中查询CustomerName LIKE%token%token%,然后用带有"你是认真的吗"标题的单选按钮回显。如果是其中任何一个,则他们可以选择名称或单击"添加新客户"。
如果name被点击,那么将$_POST传递给handlednotes.php,并使用inserts和yada yada 完成我的工作
如果是新客户,则将$_POST传递给createCustomer.php并创建新客户,然后处理原始addnotes$_POST
--
谢谢,eherr
在这些情况下,我所做的是等待用户在输入中键入3个或更多字符,然后启动ajax请求,检索与第一个字符匹配的记录列表。。。
<input type="text" name="companyname" id="customername" size="30" onchange="autofill(this.value);">
<script type = "text/javascript">
function autofill(text){
if ( text.length < 3 ) return;
else ajax.post("get_customers.php", {data:text}, function(response){
$( "#customername" ).autocomplete({
source: response.availableTags
});
});
}
</script>
希望它能帮助
我认为您的问题可能更多地是关于可用性,而不是代码。
- 如果您加密自动完成数据,您的用户将如何使用自动完成功能
- 如果您使用LIKE解决方案来处理问题,那么键入"a"并要求后端为您检索选项将陷入几乎相同的问题
- 如果你的用户看不到你的自动完成数据,那么自动完成可能不是你想要的
尝试重新验证您的目标:
- 你的真正目标是什么
- 为什么您的用户必须选择一个选项
- 这些数据更重要的是什么?安全性还是可用性
- 有没有其他方法可以让你的用户在你的软件中获取所有客户的名字
- 如何在网络密码API中使用私钥对数据进行加密
- 使用javascript和get以加密形式传递数据
- 如何在传递到aspx页面之前加密数据
- 发送前加密邮件数据
- 用于散列有效负载发布数据的最佳加密货币
- Chrome扩展程序 - 加密要存储在Chrome存储中的数据
- 加密一组数据以馈送图表的优化方法
- JSON 数据加密/解密或密钥值对
- 如何使用电子令牌在客户端加密数据
- 在Meteorjs中加密Mongo数据
- Javascript/PHP/Jquery-自动填充和数据加密
- JavaScript在sha512中加密,并在原始二进制数据中获得结果,如PHP hash()
- 在JS和C#之间共享加密数据,用于虚拟对象
- C#解密用Javascript加密的数据
- 数据传输和密码加密的提案
- 用“加密”在Javascript中加密数据;RSACryptoServiceProvider”;公钥->超出最大异
- 客户端数据结构的JavaScript加密(或模糊处理)
- Titanium:安卓设备上的数据加密和解密技术
- 解析数据加密…把钥匙放在哪里?
- HTML5客户端数据加密 - 我有哪些选择