Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在邮件正文中安全发送任何超链接?_Php_Codeigniter - Fatal编程技术网

Php 如何在邮件正文中安全发送任何超链接?

Php 如何在邮件正文中安全发送任何超链接?,php,codeigniter,Php,Codeigniter,我想在邮件正文中发送超链接 $invoice_link = $this->base_url.'/cityadmin/new_invoice_detail/5/'.$invoice_number; $msg = "<p>Here is the <a href='".$invoice_link."'>link</a> please click to open direct invoice</p>"; $invoice\u link=$this-

我想在邮件正文中发送超链接

$invoice_link = $this->base_url.'/cityadmin/new_invoice_detail/5/'.$invoice_number;
$msg = "<p>Here is the <a href='".$invoice_link."'>link</a> please click to open direct invoice</p>";
$invoice\u link=$this->base\u url./cityadmin/new\u invoice\u detail/5/。$invoice\u编号;
$msg=“这是请单击打开直接发票的链接”

当我发送任何电子邮件时,链接都会在电子邮件正文中运行良好,但打开此链接后会创建简单链接,任何人都可以简单地编辑url。
但我想安全或加密的红色链接,没有人可以编辑容易或理解


如何在电子邮件正文中创建此类链接?

如果您想避免或至少让别人更难输入您的发票号码,您可以尝试使用Codeigniter的加密库

看一看

正确配置后,您可以尝试以下操作:

$this->load->library('encryption');

$invoice_link = $this->base_url.'/cityadmin/new_invoice_detail/5/'.bin2hex($this->encryption->encrypt($invoice_number));
`$msg = "<p>Here is the <a href='".$invoice_link."'>link</a> please click to open direct invoice</p>";
别忘了设置加密密钥


如果您想避免或至少让他人更难轻松地输入您的发票号,您可以尝试使用Codeigniter的加密库

看一看

正确配置后,您可以尝试以下操作:

$this->load->library('encryption');

$invoice_link = $this->base_url.'/cityadmin/new_invoice_detail/5/'.bin2hex($this->encryption->encrypt($invoice_number));
`$msg = "<p>Here is the <a href='".$invoice_link."'>link</a> please click to open direct invoice</p>";
别忘了设置加密密钥


那么目标用户将如何解密该链接???你不能简单地保护该链接,max你可以选择
表单
。你所能做的就是修改显示链接发票的脚本,以检查目标用户是否已登录,而不是其他任何人。我认为他是想阻止URL,因此不容易猜测(因此,人们无法更改发票号以查看其他订单)。为此,我建议将
new\u invoice\u detail/5/'。$invoice\u number;
切换为随机字符串。(或者可能是2的组合?)也就是说,最终产品将看起来像
new\u invoice\u detail/5/dfs342uy18dsh1/12318dfsg
,那么预期用户将如何解密该链接???您不能简单地保护该链接,max您可以改为使用
表单
。您所能做的就是修改显示链接发票的脚本,以检查预期用户是否已登录,而不是用户ybody elseI认为他的意思是取消URL,这样就不容易猜到(这样人们就不能更改发票号来查看其他订单)。为此,我建议对随机字符串切换为
new\u invoice\u detail/5/。$invoice\u number;
。(或者可能是2的组合?)也就是说,最终产品看起来像
new\u invoice\u detail/5/dfs342uy18dsh1/12318dfsg
我使用的是旧版ci 1.7.2,我不需要提醒您,使用这个版本是一个巨大的风险,是吗?但这有关系吗?根据我们的说法,1.7.2似乎已经有了这样的库,不是吗?我使用的是旧版ci 1.7.2,我不需要提醒你,使用这个版本是一个巨大的风险,是吗?但这有关系吗?根据,看起来1.7.2已经有了这样一个库,不是吗?