📄 millegalbodyencodingdetector.java
字号:
package net.jumperz.app.MGuardian.plugin;
import java.io.*;
import java.util.*;
import java.net.*;
import net.jumperz.net.*;
import net.jumperz.util.*;
import net.jumperz.app.MGuardian.*;
public class MIllegalBodyEncodingDetector
extends MGuardianPlugin
{
//--------------------------------------------------------------------------------
public Map execute( Map sessionInfo )
throws IOException
{
MHttpRequest request = ( MHttpRequest )sessionInfo.get( "request" );
if( !request.hasBody() )
{
return null;
}
String contentType = request.getHeaderValue( "Content-Type" );
if( contentType == null
|| !contentType.equalsIgnoreCase( "application/x-www-form-urlencoded" )
)
{
return null;
}
Map pluginResult = new HashMap();
try
{
InputStream bodyInputStream = request.getBodyInputStream();
ByteArrayOutputStream buffer = new ByteArrayOutputStream( bodyInputStream.available() );
MStreamUtil.connectStream( bodyInputStream, buffer );
String requestBodyStr = buffer.toString( MCharset.CS_ISO_8859_1 );
if( MUnicodeUrlDecoder.isUrlDecoded( requestBodyStr ) )
{
MUnicodeUrlDecoder.decode( requestBodyStr );
}
else
{
URLDecoder.decode( requestBodyStr, MCharset.CS_ISO_8859_1 );
}
}
catch( UnsupportedEncodingException e )
{
// ignore :p
}
catch( IllegalArgumentException e )
{
//e.printStackTrace();
pluginResult.put( "message", e.getMessage() );
pluginResult.put( "block", new Boolean( true ) );
}
return pluginResult;
}
//--------------------------------------------------------------------------------
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -