作家
登录

Node.js中遇到含空格URL的神奇“Bug”——小范围深入HTTP协议

作者: 来源: 2017-12-15 09:08:24 阅读 我要评论

Execute(buffer_data, buffer_len); 
  •  
  •     if (!ret.IsEmpty()) 
  •       args.GetReturnValue().Set(ret); 
  •   } 
  •  
  •   Local<Value> Execute(char* data, size_t len) { 
  •     EscapableHandleScope scope(env()->isolate()); 
  •  
  •     current_buffer_len_ = len; 
  •     current_buffer_data_ = data; 
  •     got_exception_ = false
  •  
  •     size_t nparsed = 
  •       http_parser_execute(&parser_, &settings, data, len); 
  •  
  •     Save(); 
  •  
  •     // Unassign the 'buffer_' variable 
  •     current_buffer_.Clear(); 
  •     current_buffer_len_ = 0; 
  •     current_buffer_data_ = nullptr; 
  •  
  •     // If there was an exception in one of the callbacks 
  •     if (got_exception_) 
  •       return scope.Escape(Local<Value>()); 
  •  
  •     Local<Integer> nparsed_obj = Integer::New(env()->isolate(), nparsed); 
  •     // If there was a parse error in one of the callbacks 
  •     // TODO(bnoordhuis) What if there is an error on EOF? 
  •     if (!parser_.upgrade && nparsed != len) { 
  •       enum http_errno err = HTTP_PARSER_ERRNO(&parser_); 
  •  
  •       Local<Value> e = Exception::Error(env()->parse_error_string()); 
  •       Local<Object> obj = e->ToObject(env()->isolate()); 
  •       obj->Set(env()->bytes_parsed_string(), nparsed_obj); 
  •       obj->Set(env()->code_string(), 
  •                OneByteString(env()->isolate(), http_errno_name(err))); 
  •  
  •       return scope.Escape(e); 
  •     } 
  •     

      推荐阅读

      黑客最无奈的渗透办法,人人都会的暴力破解

    黑客在渗入渗出一个网站时,受制于本身的黑客才能以及小我思维宽度,在想尽了一切办法后,却一无所得,最终就不得不走上了暴力破解这一条陆辜暴力破解的道理就是穷举法,其根本思惟是根据标题标部分前提>>>详细阅读


    本文标题:Node.js中遇到含空格URL的神奇“Bug”——小范围深入HTTP协议

    地址:http://www.17bianji.com/lsqh/39781.html

  • 关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)