使用JavaScript和PHP对信用卡进行编码
我的网站没有SSL,我需要将信用卡号码从一个页面传递到另一个页面。情况是这样的使用JavaScript和PHP对信用卡进行编码,php,javascript,html,encryption,encode,Php,Javascript,Html,Encryption,Encode,我的网站没有SSL,我需要将信用卡号码从一个页面传递到另一个页面。情况是这样的 我会检查信用卡号码(这是有效号码吗) 然后我将把该值发布到另一个一页response.php 应该从index.php对post值进行加密,我应该能够在下一页(response.php)对其进行解密 功能验证(付款单){ var误差=”; 如果(修剪(付款形式、信用卡号码、值)。长度==0){ document.getElementById(“信用卡号码错误”).innerHTML=“输入信用卡号码”; 错误+=错
功能验证(付款单){
var误差=”;
如果(修剪(付款形式、信用卡号码、值)。长度==0){
document.getElementById(“信用卡号码错误”).innerHTML=“输入信用卡号码”;
错误+=错误;
}否则{
如果(IsNumeric(付款形式、信用卡号码、值)=false){
document.getElementById(“信用卡号码错误”).innerHTML=“输入数值”;
错误+=错误;
}
否则{
document.getElementById(“信用卡号码错误”).innerHTML=“”;
错误+=“”;
}
}
如果(错误==“”){
返回true;
}
否则{
返回false;
}
}
函数为数字(strString)
{
var strValidChars=“0123456789-”;
var-strChar;
var blnResult=真;
if(strString.length==0)返回false;
对于(i=0;i
总而言之,我正在使用一个表单发布信用卡号码,需要对其进行编码,我将能够在下一页对其进行解码。这可能吗 如果没有SSL和“真实”证书(即由可信的证书颁发机构签署的证书),就不可能安全地执行您想要的操作
- 如果使用对称加密,客户端必须知道密钥,因此攻击者可以通过简单的窃听轻松捕获密钥。通过更多的窃听,他可以捕获加密的信用卡号码并立即解密 <> LI>如果使用<强>非对称加密< /强>,攻击者可能能够执行甚至无法检测到的中间人攻击(即攻击者用他自己的一个来替换公钥,您将数据加密给他,他解密它,读取数据,用服务器发送的实际公钥对其进行加密,用SSL和“真正的”证书,浏览器将能够区分真正的公钥和攻击者的公钥)
去买一张证书。我最近将我的域名转让给了一个新的注册商,他们为我提供了一个SSL证书,价格为1.99美元,为期一年(这并不美妙——我的Android Chrome无法识别CA;但好吧……$1.99…)如果没有SSL和“真实”证书,即由可信的认证机构签署的证书,你不可能安全地做你想做的事情
- 如果使用对称加密,客户端必须知道密钥,因此攻击者可以通过简单的窃听轻松捕获密钥。通过更多的窃听,他可以捕获加密的信用卡号码并立即解密 <> LI>如果使用<强>非对称加密< /强>,攻击者可能能够执行甚至无法检测到的中间人攻击(即攻击者用他自己的一个来替换公钥,您将数据加密给他,他解密它,读取数据,用服务器发送的实际公钥对其进行加密,用SSL和“真正的”证书,浏览器将能够区分真正的公钥和攻击者的公钥)
去买一张证书。我最近将我的域名转让给了一个新的注册商,他们为我提供了一个SSL证书,价格为1.99美元,有效期为1年(这并不美妙——我的Android Chrome无法识别CA;但是……$1.99…)使用本地存储来保存CC号,这样就不需要将其发送到服务器
localStorage.ccnum = num;
var num = localStorage.ccnum;
使用本地存储来保存CC编号,这样就不需要将其发送到服务器
localStorage.ccnum = num;
var num = localStorage.ccnum;
如果您正在使用SSL,它将一直是好的。但是考虑到你想制作和Ajax调用你自己的PHP/JSP页面,那么你可以做个把戏。 诀窍: 选项#1:使用简单字符串替换所有数字字符。使用算法中的字母替换所有方法。例如,将所有“1”替换为“a”,将所有“2”替换为“b”。或者你可以反过来做。i、 e.将“1”替换为“z”,将“2”替换为“y”,等等 选项2:您可以使用随机字符生成器获取唯一的10个字符。每个都有一个单独的号码。然后在ajax调用中,您需要传递