php - 使用ajax加密url
问题描述
我想 在ajax表assignment_id
上检索的 url 中加密
<a href="<?php echo base_url()?>index.php/Welcome/quotation_detailed?assignment_id='+data[i].assignment_id+'" class="btn btn-success btn-sm item_edit" data-assignment_id="'+data[i].assignment_id+'">'+data[i].assignment_id+'</a>
解决方案
确实有可能实现您想要的 - 这是一个分步指南
阅读文档 - CI 提供了一个加密库 - 看看这里- 并按照 config.php 中的描述定义生成的密钥
在您的文件夹中创建一个助手
application/helpers
,调用它encryption_helper.php
并将以下函数放入function ci_encode($str_to_encode) { $CI = get_instance(); if (!empty($str_to_encode)) { return bin2hex($CI->encryption->encrypt($str_to_encode)); } return $str_to_encode; } function ci_decode($str_to_decode) { $CI = get_instance(); return $CI->encryption->decrypt(pack('H*', $str_to_decode)); }
转到 application/config 文件夹中的 autoload.php 并自动加载库和帮助程序。像
$autoload['libraries'] = array(...,'encryption');
并且$autoload['helper'] = array(...,'encryption_helper');
应该工作的东西现在您可以根据您的示例对任何内容进行编码/解码:
<a href="<?php echo base_url();?>Admin/assignments_detailed?assignment_id=<?php echo ci_encode($row->assignment_id) ?>"><?php echo $row->assignment_id; ?></a>
和解码
echo ci_decode($this->input->get('assignment_id');
但请记住——主要问题是你试图混淆一些不应该被混淆的信息——最终正确处理数据是你的责任——即使某些用户试图操纵它
推荐阅读
- python - MySql Table 的 Python 搜索算法建议
- angularjs - 如果选择中没有值,有什么方法可以选择 ui-select-search 值?
- java - 无向图的所有连通分量中最小元素的总和
- testing - 如何在用户配置文件模式下正确使用 cassandra-stress 工具?
- sql - 识别已在多行输入数据的列
- react-native - RN TouchableOpacity onPress 不调用函数
- ruby-on-rails - rails 4 Ruby搜索本地属性和外来属性关键字
- powershell - 使用 PowerShell 从 DistiniguishedName 中提取域
- java - 如果属性为空,如何让 MapStruct 不生成包装器对象?
- javascript - JavaScript Date 对象如何知道夏令时?