比如有个地址http://www.xxxx.com/aaa.php?act=login<a href="http://www.xxxx.com/aaa.php?FJDKJFORJNKFJKJREPAS">登陆</a>我希望这串代码就能正常访问http://www.xxxx.com/aaa.php?act=login。
因为我不希望用户知道他访问的是哪个action...
这样的转译  是在JS上还是PHP上完成? 求个思路

解决方案 »

  1.   

    服务器端这么做才有意义,不过为啥要费这周折呢? 知道这也不至于会影响到安全啊
    $act_request = array( 'FJDKJFORJNKFJKJREPAS' => 'login' ); 
    $act_value=key( $_GET);
    switch( $act_request[ $act_value] )
        case 'login':
        // act = login , do something
      

  2.   

    用php来加密. 接收的部分肯定是php,所以彼此之间加解会比较方便。
    关键还是算法打算怎么处理.
      

  3.   

    额。。纯粹研究下。估计以后有用。
    JS貌似也有吧? 我记得是encode.试试去
      

  4.   

    NEW哥。市面上有木有流行的加密库。
    莫非我要用md5($act) 这样的方式来做? 貌似太麻烦了吧
      

  5.   

    http://hi.baidu.com/lael80/blog/item/58244460067226df8db10d94.html
    des 吧。php自带也有库//php.ini;   extension=php_mcrypt.dll 
    //libmcrypt-2.4.22-win32.zip 可能要自己下载安装 
    //用法 
    $str = @mcrypt_ecb(MCRYPT_TRIPLEDES,$your_key,$str,MCRYPT_ENCRYPT); //MCRYPT_ENCRYPT//加密 
    //MCRYPT_DECRYPT//解密
      

  6.   


    js 当然也有,但是如果你要配套并且无缝的话当然最好是 php加 php解了
    php有个加密库,有不少是使用key的可逆加密算法的.上面说的php_mcrypt.dll   你看看能不能装上,能的话就用这个扩展就行了够你用了.
      

  7.   

    万年的NEW哥啊
    /**
     * 加密函数
     * @param   string  $str    加密前的字符串
     * @param   string  $key    密钥
     * @return  string  加密后的字符串
     */
    function encrypt($str, $key = AUTH_KEY)
    {
        $coded = '';
        $keylength = strlen($key);    for ($i = 0, $count = strlen($str); $i < $count; $i += $keylength)
        {
            $coded .= substr($str, $i, $keylength) ^ $key;
        }    return str_replace('=', '', base64_encode($coded));
    }
    ^  这个东东啥意思?
      

  8.   

    擦。。上面代码乱了/**
     * 加密函数
     * @param   string  $str    加密前的字符串
     * @param   string  $key    密钥
     * @return  string  加密后的字符串
     */
    function encrypt($str, $key = AUTH_KEY)
    {
        $coded = '';
        $keylength = strlen($key);    for ($i = 0, $count = strlen($str); $i < $count; $i += $keylength)
        {
            $coded .= substr($str, $i, $keylength) ^ $key;
        }    return str_replace('=', '', base64_encode($coded));
    }
      

  9.   

    如果aaa.php?后面act的个数是确定的话,可以先用md5加密,再用 switch(密文){case md5(act=login):};
    当然为了加强安全性,可以先将明文加一段密钥后再加密。
      

  10.   

    位运算符位运算符允许对整型数中指定的位进行置位。如果左右参数都是字符串,则位运算符将操作字符的 ASCII 值。 
    http://php.net/manual/zh/language.operators.bitwise.php