Java PHP包含子字符串测试允许一些值通过

Java PHP包含子字符串测试允许一些值通过,java,php,substring,Java,Php,Substring,我们有Java代码,它使用如下逻辑创建GET请求: String getReq = "&aParam=" + URLEncoder.encode("valueWithSubstring", "UTF-8"); 然后,我们基于PHP的报告系统读取此信息,并尝试筛选某些值。问题是,不管出于什么原因,在某些情况下,它们似乎在不应该通过的时候通过了。最基本的PHP过滤代码是: if(strpos($_GET['aParam'], 'substringToFilter') !== false)

我们有Java代码,它使用如下逻辑创建GET请求:

String getReq = "&aParam=" + URLEncoder.encode("valueWithSubstring", "UTF-8");
然后,我们基于PHP的报告系统读取此信息,并尝试筛选某些值。问题是,不管出于什么原因,在某些情况下,它们似乎在不应该通过的时候通过了。最基本的PHP过滤代码是:

if(strpos($_GET['aParam'], 'substringToFilter') !== false)
    die();

但无论出于何种原因,substringToFilter似乎无法过滤请求…

当您使用UTF-8编码时,请使用
mb.*
函数:

mb_strpos


注意:

使用UTF-8编码时,请使用
mb.*
函数:

mb_strpos


注意:

我仍然没有找到答案,但我将此标记为答案,因为它肯定会产生影响。它解决了其中一个问题。我仍然没有找到答案,但我将其标记为答案,因为它确实产生了影响。它解决了其中一个问题。