PHP base64编码post请求

PHP base64编码post请求,php,html,base64,encode,Php,Html,Base64,Encode,简而言之: <form method="post" action=""> <textarea name="foo">bar</textarea> </form> 酒吧 我想将foo的值发布为base64编码(不使用ajax来节省时间) 详细信息: <form method="post" action=""> <textarea name="foo">bar</textarea> </f

简而言之:

<form method="post" action="">
    <textarea name="foo">bar</textarea>
</form>

酒吧
我想将
foo
的值发布为base64编码(不使用ajax来节省时间)

详细信息:

<form method="post" action="">
    <textarea name="foo">bar</textarea>
</form>
  • 我有一个界面,人们可以在其中激发SQL SELECT查询来获取简单的报告
  • 网络(公司防火墙)过滤POST请求,将其视为SQL注入
  • 我能想到的一个解决方案是对数据进行编码,然后发出POST请求。然后在服务器端解码
  • 有没有办法不使用ajax?这将帮助我避免代码重构

    • 您不需要使用Ajax,您可以使用表单的
      onsubmit
      事件来编写javascript处理程序,将数据编码到隐藏输入,隐藏输入随表单一起发送(请注意,原始文本区域没有
      名称,因此不会在POST中发送)

      函数encodeSql(){
      var e=document.getElementById('sql');
      var t=document.getElementById('sql_base64');
      t、 value=encodetobase64(即value);
      返回true;
      }
      ...
      
      您不需要使用Ajax,您可以使用表单的
      onsubmit
      事件来编写javascript处理程序,将数据编码到隐藏输入,隐藏输入随表单一起发送(注意,原始文本区域没有
      名称,因此不会在POST中发送)

      函数encodeSql(){
      var e=document.getElementById('sql');
      var t=document.getElementById('sql_base64');
      t、 value=encodetobase64(即value);
      返回true;
      }
      ...
      
      您可以在提交表单之前将文本值转换为Base64字符串,而无需使用
      窗口中的Ajax。btoa

      var str = document.getElementById("foo").value;
      var enc = window.btoa(str);
      
      btoa()
      方法对base-64中的字符串进行编码。
      此方法使用“A-Z”、“A-Z”、“0-9”、“+”、“/”和“=”字符对字符串进行编码


      有关
      btoa
      的更多信息:

      您可以在提交表单之前将文本值转换为Base64字符串,而无需使用
      窗口使用Ajax。btoa

      var str = document.getElementById("foo").value;
      var enc = window.btoa(str);
      
      btoa()
      方法对base-64中的字符串进行编码。
      此方法使用“A-Z”、“A-Z”、“0-9”、“+”、“/”和“=”字符对字符串进行编码


      有关btoa的更多信息,请参见:

      1。防火墙怎么能把所有的帖子都当作SQL注入来处理呢?这毫无意义,而且让互联网无法使用。2.你需要使用HTTPS!你真正的问题是什么?这听起来像是一个思路。SQL与此有什么关系?AJAX和它有什么关系?是否要发布base64值?什么阻止了你?没有JS是不可能的。使用HTTPS,防火墙将无法监视该请求。@除非他们使用自定义证书来MITM许多企业所做的所有连接,否则emix将无法监视该请求。@Dharman不是全部,而是随机筛选一些查询。可能是查询中匹配的某个模式。1。防火墙怎么能把所有的帖子都当作SQL注入来处理呢?这毫无意义,而且让互联网无法使用。2.你需要使用HTTPS!你真正的问题是什么?这听起来像是一个思路。SQL与此有什么关系?AJAX和它有什么关系?是否要发布base64值?什么阻止了你?没有JS是不可能的。使用HTTPS,防火墙将无法监视该请求。@除非他们使用自定义证书来MITM许多企业所做的所有连接,否则emix将无法监视该请求。@Dharman不是全部,而是随机筛选一些查询。可能是查询中匹配的某个模式。很好!我试试这个。回答编码。很好!我试试这个。回答编码。