【问题标题】:Compare http_referer value比较 http_referer 值
【发布时间】:2010-06-09 17:02:14
【问题描述】:

我的 http_referer 是这样说的:

   http://www.domain.com/search/?etcetcetcetc...

我需要比较我的 http_referer 来查找:

   http://www.domain.com/search

如果引用的第一部分是这个,那么做一些代码......

例如:

    if($_SERVER['HTTP_REFERER']=='http://www.domain.com/search'){
          do stuff...

但首先我认为我需要去掉“搜索”一词之后的所有内容。

我不擅长正则表达式和这类东西,因此不胜感激...... 谢谢

【问题讨论】:

    标签: php javascript regex security apache


    【解决方案1】:

    如果您只想检查字符串是否以您的域开头,请使用strpos

    if(strpos($_SERVER['HTTP_REFERER'], 'http://www.domain.com/search') === 0) {
        // do stuff
    }
    

    【讨论】:

    • @the rook,strpos 返回 0(意味着从第一个字符开始的匹配)和 false(意味着根本不匹配),这意味着 if(strpos()) 会表现得好像根本没有匹配,如果实际上有一个从第一个字符开始的匹配。 Michael Mrozek 100% 正确。在这种情况下,缩短为 if(strpos()) 是不正确的。但是,对于只返回布尔值(而不是布尔值和 int 的混合)的函数,这将是首选样式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 2016-01-14
    • 2021-05-03
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多