使用JavaScript和PHP对信用卡进行编码

使用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=“输入信用卡号码”; 错误+=错

我的网站没有SSL,我需要将信用卡号码从一个页面传递到另一个页面。情况是这样的

  • 我会检查信用卡号码(这是有效号码吗)
  • 然后我将把该值发布到另一个一页response.php
  • 应该从index.php对post值进行加密,我应该能够在下一页(response.php)对其进行解密

    
    功能验证(付款单){
    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为什么带有“real”“证书之所以安全,是因为这些证书是由证书颁发机构签署的,这将使您的浏览器识别它们是有效的。如果它们没有由浏览器识别的证书颁发机构签名,它将显示一个可怕的屏幕,告诉用户他可能受到攻击。攻击者无法为域的证书生成有效签名


    去买一张证书。我最近将我的域名转让给了一个新的注册商,他们为我提供了一个SSL证书,价格为1.99美元,为期一年(这并不美妙——我的Android Chrome无法识别CA;但好吧……$1.99…)

    如果没有SSL和“真实”证书,即由可信的认证机构签署的证书,你不可能安全地做你想做的事情

    • 如果使用对称加密,客户端必须知道密钥,因此攻击者可以通过简单的窃听轻松捕获密钥。通过更多的窃听,他可以捕获加密的信用卡号码并立即解密
    • <> LI>如果使用<强>非对称加密< /强>,攻击者可能能够执行甚至无法检测到的中间人攻击(即攻击者用他自己的一个来替换公钥,您将数据加密给他,他解密它,读取数据,用服务器发送的实际公钥对其进行加密,用SSL和“真正的”证书,浏览器将能够区分真正的公钥和攻击者的公钥)
    求求你,求求你,求求你:除非你是一个大师,否则不要试图在安全性/加密技术上有创造性(在这种情况下,你很可能是在开发算法,而不是制作网站)。很可能你会构建一些严重破坏的东西

    SSL为什么带有“real”“证书之所以安全,是因为这些证书是由证书颁发机构签署的,这将使您的浏览器识别它们是有效的。如果它们没有由浏览器识别的证书颁发机构签名,它将显示一个可怕的屏幕,告诉用户他可能受到攻击。攻击者无法为域的证书生成有效签名


    去买一张证书。我最近将我的域名转让给了一个新的注册商,他们为我提供了一个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调用中,您需要传递