精华内容
下载资源
问答
  • URLEncode两次URLDecode一次

    千次阅读 2018-02-24 13:30:31
    为什么网上会有人提出在客户端对字符串重复编码两次呢. 如果因为项目需要,不能指定容器使用何种编码规则来解码提交的参数, 比如:需要接收来自不同页面,不地编码的参数内容时。 (又或者是开发人员被这有点

    URLEncode两次URLDecode一次

    转载 2014年04月19日 15:59:15
    为什么网上会有人提出在客户端对字符串重复编码两次呢.
    如果因为项目需要,不能指定容器使用何种编码规则来解码提交的参数, 比如:需要接收来自不同页面,不地编码的参数内容时。 (又或者是开发人员被这有点复杂的东东搞得晕头转向,不懂得如何正确的去做好这接收参数的工作)
    这个时候,在客户端对参数进行二次编码,可以有效的避开“提交多字节字符”的这个棘手问题。
    因为第一次编码,你的参数内容便不带有多字节字符了,成了纯粹的 Ascii 字符串。(这里把编第一次的结果叫成 [STR_ENC1] 好了。[STR_ENC1] 是不带有多字节字符的)
    再编一次后,提交,接收时容器自动解一次 (容器自动解的这一次,不管是按 GBK 还是 UTF-8 还是 ISO-8859-1 都好,都能够正确的得到 [STR_ENC1])
    然后,再在程序中实现一次 decodeURIComponent (Java中通常使用 java.net.URLDecoder(***, "UTF-8")) 就可以得到想提交的参数的原值。

    展开全文
  • $title = urlencode($_POST['title']); $img = urlencode($_POST['img']); $url = urlencode($_POST['url']); $dec = urlencode($_POST['dec']); mysqli_query($mysqli,"UPDATE posts SET title = $title, img = ...
  • urlencode($cdid) . '&sn=' . urlencode($serialnumber)); }else{ echo "MISMATCH"; } }elseif(isset($_POST['cancel']) && isset($_GET['url'])){ header('Location: wip_ship_search.php'); } ...
  • 区块链api问题[重复]

    2018-09-15 04:40:28
    urlencode($callback_url) . "&xpub=" . $my_xpub; //BITCOIN API HAVING ISSUE. PLEASE TRY LATER if (!$resp) { return redirect()->route('account')->with('error', trans('site.blockchain....
  • a href=\"http://example.com/ea.php?v=".urlencode($url)."&t=".$p."\"><?php echo $this->lang('learn_cn')?></a>" ?> </code></pre> <p>It comes with blank nothing show. <pre>...
  • {header("Location: Login.php?msg4=" . urlencode(base64_encode("User successfully created.")));} } } </code></pre> <p>and this is how i call both of my function <pre><code>if($_SERVER['REQUEST_...
  • searchTeam(urlencode('<?php $_GET["teamName"]; ?>')) // here must get the team name from previous page ?> <h3>All home matches of <?php echo $team->_payload->name; ?>:</...
  • data-urlencode 'where={"playerName":"Sean Plott"' \<br> https://api.parse.com/1/classes/ClassName<br> </code></pre> <p>I have tried: <pre><code>$ch = curl_init();<br> curl_setopt($...
  • $message = urlencode($message); //Test that the message is encoded correctly. Php will use urlencode the message if ($_POST['send']) //Line 51 { //Validating if the fields are empty if ($number)...
  • <p>I have tried urldecode() urlencode() - I have tried the below myUrlEncode function I found. <pre><code>function myUrlEncode($TXTurl) { $entities = array('%21', '%2A', '%27', '%28', '%29', '%3B', ...
  • header("Location: Updating_U.php?Success=" . urlencode($Success)); exit(); } } ?> } </code></pre> <p>When i fill out all form fields a message is supposed to say User has been Updated ...
  • text=".urlencode($_REQUEST['MESSAGE'])."&priority=ndnd&stype=normal"); curl_setopt($ch, CURLOPT_HEADER, 0); // grab URL and pass it to the browser curl_exec($ch); // close cURL resource, ...
  • header('Location: ../shore_establishment.php?ship_id=' .urlencode($_GET['ship_id']) . "&shore=1" . "&page=ship"); //echo"first"; } else if ($_GET['shore'] == "0") { header('Location: ../...
  • crs=".urlencode($crs)."' width='1' height='1' border='0' alt=''/>"; // message and tracker pic in body $mail->isHTML(TRUE); // HTML body? true/false $mail->ConfirmReadingTo = 'qcisource@...
  • <a href="/questions/574242/how-to-send-array-with-curl-should-i-urlencode-it" dir="ltr">How to send array with CURL? Should I `urlencode` it? 5 answers <p>I'm basically processing a...
  • php echo urlencode($id); ?>" method="POST"> <input type="text" name="title" value="<?php echo $row['title']; ?>" placeholder="Edit title of post..."> <input type="text" name=...
  • $filter = urlencode($filter); } return $filter; } $output = _INPUT('name',true,true,true); </code></pre> <p>I will be using prepared statements for MYSQL too, although I need to read up on them...
  • $address = urlencode($_POST['location']); $url = "http://maps.googleapis.com/maps/api/geocode/json?address=$address"; $geocode = file_get_contents($url); $output = json_decode($geocode); if ($...
  • * use rawurlencode() instead of URLEncode(), if you set search string * as url query param */ sleep(2); // proceed with other queries curl_close($ch); </code></pre> <p>JSON: <p>...
  • $_post[$name] = urlencode($value); } $ch = curl_init(self::API_URL); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_...
  • default='.urlencode($url).'" /> '.$link_close.' </div> <div class="name">'.$link_open.$d['name'].$link_close.'</div> <div class="date" title="Added at '.date('H:i \o d M ...
  • 'https://graph.facebook.com/fql?q=' . urlencode("SELECT like_count, total_count, share_count, click_count, comment_count FROM link_stat WHERE url = \"{$url}\""), 'callback' => function($resp) { ...
  • <p>This question already has an answer here: ... I'm trying to figure out how to allow a user to write to the database with a form and then use some of that information as a $_SESSION variable...
  • I have tried using urlencode, rawurlencode, and percent encoding on the $stable variable as is suggested in other questions on this site but nothing seems to work. Below is a sample of the code that ...
  • HttpUtility.UrlEncode("重复_" + txtfile.FileName, System.Text.Encoding.UTF8) 把文件名称转成utf-8格式

     HttpUtility.UrlEncode("重复_" + txtfile.FileName, System.Text.Encoding.UTF8)

    把文件名称转成utf-8格式

    展开全文
  • 2------注册 发布 回复帖子 重复提交应用可以用session设置时间mktime();$_SESSION['conn']=mktime();...3------url地址加密urlencode("首页") 加密<a href="index.php?page=<?php echo urlenc...

    1------非法登陆
    session_start();
    2------注册 发布 回复帖子 重复提交应用
    可以用session设置时间mktime();
    $_SESSION['conn']=mktime();
    判断时间是否一致,不一致,不能重复提交;
    3------url地址加密
    urlencode("首页") 加密
    <a href="index.php?page=<?php echo urlencode("首页"); ?> ">首页</a>
    urldecode()解密
    <?php echo urldecode($_GET['page']); ?>
    4------html过滤非法字符

    3个内置函数解决
    htmlspecialchars(); str_replace();trim();
    //方法
    function unhtml($content){
    $content=htmlspecialchars($content);
    $content=str_replace(chr(13),"<br>",$content);
    $content=str_replace(chr(32),"&nbsp",$content);
    $content=str_replace("[_[","<",$content);
    $content=str_replace(")_)",">",$content);
    $content=str_replace("|_|","",$content);
    return trim($content);
    }

    5-----禁止输入敏感字符
    注册实例
    $name=trim($_POST['username']);
    for($i=0;$i<=strlen($name),$i++){
    $name=substr($name,$i<1);
    if($name=="%" or $name =="&" or $name==">" or$name=="<" or $name=="|"){
    echo "<script>alert('含有敏感字符,请重新输入');window.history.back();</script>"
    }
    }
    6-----越过表单限制漏洞
    最好的办法就是前后台都需要正则验证,因为前台验证在客户端,容易更改,所以前台验证之后后台必须验证。、preg_match($zhengze,值,$counts);
    7------文件上传漏洞
    上传视频很流行,必须对上传的视频大小、格式进行限制,避免安全隐患
    8------隐藏php文件扩展名
    攻击者看不出是什么语言编程。认识了解就可以,作用不大 p805

     

    转载于:https://www.cnblogs.com/jiaoaozuoziji/p/7384413.html

    展开全文
  • 网络基础(二)

    2018-08-11 10:15:28
    应用层(重要写代码)   协议:是双方的一种约定     报头: HTTP协议(超文本传输协议) ...urlencode:特殊字符的编码 ... Cookie:保存身份标识,避免重复登录,存字符串,保存数据有限(4K) ...

    应用层(重要写代码)

     

    协议:是双方的一种约定

     

     

    报头:

    HTTP协议(超文本传输协议)

     

    URL:通俗来说网址

     

     

    urlencode:特殊字符的编码

    urldecode:编码之后的解码

     

     

    http抓包

     

     

    http常见Header:

    1. Cookie:保存身份标识,避免重复登录,存字符串,保存数据有限(4K)

    2. POST:有Body

    3. GET:没Body

    4. referer:当前页面是从哪个页面跳转过来的,通过升级成https来解决修改referer问题

    5. location:告诉接下来要去哪个页面,搭配3XX使用

    6. Set_Cookie:保存身份信息,下次访问此网络是就不需要在登录

     

    http状态码(响应结果如何):

    1. 2开头:成功

    2. 3开头:重定向(302重定向到其他页面)

    3. 4开头:客户端异常(例404,418(彩蛋))

    4. 5开头:服务器异常(504(网关超时))

     

    http请求(客户端发给服务器)

    1. 首行:方法+url+http版本号

    2. Header:请求属性 冒号空格键值对

    3. 由空行结束

    4. Body:空行后面的都是Body

     

     

    http响应(服务器回发给客户端)

    1. 首行:http版本号 +状态码  +对状态码的含义补充    

    2. Header:键值对

    3. 空行表示Header结束

    4. Body:空行后面都是Body

     

     

    写一个最简易版本的http服务器

    //不管什么请求,响应都是hello world

    #include <stdio.h>
    
    #include <stdlib.h>
    
    #include <unistd.h>
    
    #include <pthread.h>
    
    #include <sys/socket.h>
    
    #include <arpa/inet.h>
    
    #include <netinet/in.h>
    
    #include <string.h>
    
    
    
    
    
    
    
    //其实可以使用C++多态来解决类似问题
    
    typedef struct sockaddr sockaddr;//通用形式
    
    typedef struct sockaddr_in sockaddr_in;//保存真正的IP地址和端口号
    
    
    
    int ServerInit(const char *ip,short port)
    
    {
    
      int fd = socket(AF_INET,SOCK_STREAM,0);
    
      if(fd < 0)
    
      {
    
        perror("socket!\n");
    
        return -1;
    
      }
    
    
    
      sockaddr_in addr;
    
      addr.sin_family = AF_INET;
    
      addr.sin_addr.s_addr = inet_addr(ip);
    
      addr.sin_port = htons(port);
    
      socklen_t len = sizeof(addr);
    
    
    
      int ret = bind(fd,(sockaddr *)&addr,len);
    
      if(ret < 0)
    
      {
    
        perror("bind!\n");
    
        return -1;
    
      }
    
    
    
      ret = listen(fd,5);
    
      if(ret < 0)
    
      {
    
        perror("listen!\n");
    
        return -1;
    
      }
    
      return fd;
    
    }
    
    void *ThreadEntry(void *arg)
    
    {
    
      int64_t new_fd = (int64_t)arg;
    
      while(1)
    
      {
    
        char buf[1024 * 10] = {0};
    
        read(new_fd,buf,sizeof(buf)-1);
    
    
    
        printf("[request] %s\n",buf);
    
        //构造http的响应
    
        //首行
    
        //字符串拼出来啥样页面就是啥样
    
        const char* first_line = "HTTP/1.1 302 Found\n";
    
        const char* blank_line = "\n";
    
        //const char* body = "<html>sabi</html>";
    
        char header[1024 *10] = {0};
    
        //sprintf(header,"Content-Type:text/html;\nContent-Length:%lu\n",strlen(body));
    
        sprintf(header,"Location:http://ww.baidu.com\n");//将会跳转到百度页面
    
        
    
        write(new_fd,first_line,strlen(first_line));
    
        write(new_fd,header,strlen(header));
    
        write(new_fd,blank_line,strlen(blank_line));
    
        //write(new_fd,body,strlen(body));
    
        return NULL;
    
      }
    
    }
    
    int main(int argc,char *argv[])
    
    {
    
      if(argc != 3)
    
      {
    
        printf("Usage ./http_server [ip] [port]\n");
    
        return 1;
    
      }
    
    
    
      int listen_sork = ServerInit(argv[1],atoi(argv[2]));
    
      if(listen_sork < 0)
    
      {
    
        printf("ServerInit error!\n");
    
        return 1;
    
      }
    
      printf("ServerInit OK!\n");
    
    
    
      //多线程版本
    
    
    
      
    
      while(1)
    
      {
    
        sockaddr_in peer;
    
        socklen_t len = sizeof(peer);
    
        int64_t  new_fd = accept(listen_sork,(sockaddr *)&peer,&len);
    
        if(new_fd < 0)
    
        {
    
          perror("accept!\n");
    
          continue;
    
        }
    
    
    
        pthread_t tid;
    
        pthread_create(&tid,NULL,ThreadEntry,(void *)new_fd);
    
    
    
        pthread_detach(tid);
    
        
    
      }
    
      return 0;
    
    }

     

    应用层协议:HTTP,HTTPS,FTP,SSH......,还有自定制的协议,序列化与反序列化

     

     

    传输层(问题调试)

     

    端口号

    端口号范围划分

    1. 0-1023:知名端口号,一些知名的应用层协议http,ftp等都有固定的端口号

    2. 1024-65535:操作系统动态分配的端口号

     

    知名的端口号

    1. ssh:22

    2. ftp:21

    3. http:80

     

     

    一个进程可以绑定多个端口号,创建多个进程就可以同时绑定多个端口号了

    一个端口号不能被多个进程绑定

     

     

     

     

    (易考)查看进程的PID

    1. ps aux | grep 进程名:查看进程的PID

    2. pidof 进程名

     

    (易考)给一个端口号查看绑定的进程:

    1. netstat -anp | grep 端口号

     

    UDP协议

    UDP协议端格式

    教科书格式

     

    通用格式

     

     

     

     

    展开全文
  • 编程小记

    2009-07-22 09:40:00
    正则的贪婪性与懒惰性:正则的重复贪婪性会返回最长(最远)的符合正则的结果,...汉字转换为URL编码:System.Web.HttpUtility.UrlEncode("汉字",Encoding.GetEncoding("UTF-8"));//转为UTF-8的编码URL编码转换为汉字:

空空如也

空空如也

1 2 3
收藏数 44
精华内容 17
关键字:

重复urlencode