小编Jac*_*son的帖子

处理 CloudFlare 的:cf_chl_jschl_tk 和 cf_chl_captcha_tk?

问题:

当我的网站设置为“我受到攻击”模式时,一旦用户通过 CloudFlare 屏幕,他们就会被重定向到我的网站,并使用一个大而长的查询获取参数:

?__cf_chl_jschl_tk__=63c51316f61a63e46f1639d6cf43f9d9b536adea-1587754610-0-AV-peahelegQeMeSrc_4ZJBUq47gdkX_QiS2eERoRTEODUjwbib2MM_73nQDAhukLbkspNpj01mv-Z-JteR4MpY4LUMm-yLJrPQKTX74DGYbZIs2utbp3_q4uozgzKpqcax10YESVKDhZgaWQYHGqBL9koIoasVOzKyvU7VQuKT1Nieo-i8DdXrV0IQf-nyI8KgWnxhYSVBOc-4WNrZzHQlEXFOpV45AGs10aMJyrs376HLRhNdV05MCj8oqMrexuQDtY7B3p7riHByYdB7GIgc
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

为什么这是不好的:

  • 在线共享的丑陋链接 - (我已经看到这种情况发生了几次)
  • 我无法重定向获取参数 - (无法访问它们以检查是否设置为重定向)
  • 丑陋的网址 - (我们花了很多时间为我们的应用程序编写干净/漂亮的网址)
  • POST 数据设置在页面上 - (如果不“重新提交”CF 身份验证,您将无法刷新)

建议的解决方案:

我认为避免这种情况的方法是检查是否设置了获取参数,然后重定向回删除参数的同一页面。(确保在设置时不会丢失任何其他查询参数)

我写了一个函数来实现这一点:

function checkAndRemoveCloudFlareParams() {
    if (isset($_GET['__cf_chl_jschl_tk__']) && ! empty($_GET['__cf_chl_jschl_tk__'])
     || isset($_GET['__cf_chl_captcha_tk__']) && ! empty($_GET['__cf_chl_captcha_tk__'])) {

        $new_uri = '?';
        $uri = explode('?', $_SERVER['REQUEST_URI']);
        $uri = $uri[0];

        // Get any other params to put back on later
        foreach ($_GET as $key => $var) {
            if ($key !== '__cf_chl_jschl_tk__' && $key !== '__cf_chl_captcha_tk__') {
                $new_uri .= $key . '=' …
Run Code Online (Sandbox Code Playgroud)

php ddos cloudflare

9
推荐指数
2
解决办法
4307
查看次数

:之前&&:之后的伪元素没有显示Firefox

Firefox没有显示:之后和:之前,但它们确实在Chrome中显示.

Firefox和Chrome: 在此输入图像描述

直接在Firefox中查看源代码显示CSS在那里: 在此输入图像描述

这发生在页面上的多个元素上:after.

我尝试过使用前后.我也试过了::和:变种.

如果我在codepen中使用相同的CSS,它可以工作:http://codepen.io/anon/pen/XXOZWL

<input type="checkbox" class="mobile_auth" />

.mobile_auth {
    visibility: hidden;
}

.mobile_auth:after {
    background-image: url('https://lh4.googleusercontent.com/-gD_ItALdha8/AAAAAAAAAAI/AAAAAAAAAB4/eEbUyChzCJc/photo.jpg?sz=110');
    content: '';
    height: 33px;
    width: 33px;
    display: block;
    cursor: pointer;
    visibility: visible;
    margin: auto;
    position: relative;
    top: -3px;
    left: 3px;
}

.mobile_auth::after {
    background-image: url('https://lh4.googleusercontent.com/-gD_ItALdha8/AAAAAAAAAAI/AAAAAAAAAB4/eEbUyChzCJc/photo.jpg?sz=110');
    content: '';
    height: 33px;
    width: 33px;
    display: block;
    cursor: pointer;
    visibility: visible;
    margin: auto;
    position: relative;
    top: -3px;
    left: 3px;
}

.mobile_auth:checked:after {
    background-position: right;
}
Run Code Online (Sandbox Code Playgroud)

您可以在以下位置看到该页面:***.com用户登录:demo Pass:demo并单击"config".最新的Firefox中缺少很多按钮.

这很奇怪,因为它根本没有显示.它不像元素那样,我看不到它.它甚至没有显示它存在于控制台中.

html css firefox

8
推荐指数
2
解决办法
5443
查看次数

使用AJAX调用在select2中设置默认值?

我有两个例子.

这个是带有静态输入的普通select2,它可以预先使用默认字段:http: //jsfiddle.net/z96Ca/2/

接下来是一个带有ajax调用的select2,默认值没有添加到框中 - 为什么?! http://jsfiddle.net/z96Ca/1/

我已经摆弄了一段时间,但是在有ajax调用时也无法预先知道如何添加值.

这是通常预先添加代码的行:

$(test).val(["test1","test2"]).trigger("change");
Run Code Online (Sandbox Code Playgroud)

希望我足够清楚

非常感谢

javascript php jquery jquery-select2

6
推荐指数
1
解决办法
2万
查看次数

在单击保持和拖动期间,偏移不会更新mousedown事件

这是一个示例小提琴你点击红色框,它显示指针相对于框的坐标.

如果单击并拖动,我如何修改此脚本以允许更新坐标?当我按住单击并移动鼠标时,允许坐标更新.

http://jsfiddle.net/lonesomeday/5qxtL/2/

来自小提琴的代码:

$('#target').mousedown(function(e) {
    var offset = $(this).offset(),
        imgLeft = e.pageX - offset.left,
        imgTop = e.pageY - offset.top;

    $('#result').text('Mouse clicked x = ' + imgLeft + ' Y = ' + imgTop);
});
Run Code Online (Sandbox Code Playgroud)

我尝试了一些不同的东西,但到目前为止还没有任何工作,除了没有答案的问题之外,找不到另外一个类似的问题.

谢谢

jquery

6
推荐指数
1
解决办法
752
查看次数

我需要清理 PHP 中 error_log() 的用户数据吗?

当直接将数据传递到以下位置时,我是否需要清理来自公众表单的用户输入:

error_log();
Run Code Online (Sandbox Code Playgroud)

http://php.net/manual/en/function.error-log.php

我知道这是一个相当简单的问题,但我在其他地方找不到任何东西。

谢谢

php

6
推荐指数
1
解决办法
1459
查看次数

SELECT2 - >添加数据而不替换内容

我已经看了一些其他线程,但没有什么特别的.这不是我认为很难的事情,但我不知道该怎么做.

目前我正在使用Select2作为标记系统,在它旁边我建议用户可以点击的标签,它将添加到框中.

相反,每个标签都在替换内容并添加自身.

我需要将添加内容添加到框中而不替换已经存在的内容.

这是我的代码:

$(document).on('click', ".tag1", function () {
      var value = $(".tag1").html();
      console.log(value);
      $("#selectPretty").val([value]).trigger("change");
});
$(document).on('click', ".tag2", function () {
      var value = $(".tag2").html();
      console.log(value);
      $("#selectPretty").val([value]).trigger("change");
});
Run Code Online (Sandbox Code Playgroud)

数据通过AJAX提取,每个建议的标签都有一个范围.

希望我足够清楚.

摘要:我希望能够点击每个"标记"并添加它,而不是替换框中已有的标记.

谢谢

html javascript jquery jquery-select2

5
推荐指数
2
解决办法
2万
查看次数

返回即将到来的 YouTube API V3 视频排期日期?

我希望返回 YouTube 中流的日程安排日期。

预定流的示例: 在此处输入图片说明

YT 链接:https : //www.youtube.com/channel/UCP7jMXSY2xbc3KCAE0MHQ-A

这是我使用 YouTube v3 API 提取这些数据的代码:

        $videos = $this->yt->searchAdvanced(array(
            'q' => '',
            'part' => 'snippet',
            'channelId' => $this->channel_id,
            'eventType' => $event_type, // Upcoming
            'type' => 'video',
            'order' => 'date',
            'maxResults' => $max,
            'key' => YOUTUBE_API_KEY
        ));
Run Code Online (Sandbox Code Playgroud)

这是由此返回的对象: 在此处输入图片说明

如果我使用我的函数来获取视频信息,这就是我可以获得的所有信息。这是使用零件:

id, snippet, contentDetails, player, statistics, status
Run Code Online (Sandbox Code Playgroud)

: 预定日期在哪里?:

stdClass Object
(
    [kind] => youtube#video
    [etag] => "q5k97EMVGxODeKcDgp8gnMu79wM/KAZsrzeX5ImiUQpLbwhPR7lo9mA"
    [id] => qUAmTYHEyM8
    [snippet] => stdClass Object
        (
            [publishedAt] => 2016-03-03T06:48:50.000Z
            [channelId] => UCP7jMXSY2xbc3KCAE0MHQ-A
            [title] => Match …
Run Code Online (Sandbox Code Playgroud)

youtube youtube-api youtube-data-api

4
推荐指数
1
解决办法
2111
查看次数

等于post_title的Wordpress WP_Query / get_posts返回所有结果

我创建了一个名为“ snippets”的自定义帖子类型,其中有客户端可以更改的诸如“ address”之类的数据片段。

这些片段的标题都是唯一的: 自定义帖子类型

我创建了一个简单的函数来返回这些片段,但是它不能正常工作,我不确定为什么。

功能:

function get_snippet($snippet_title) {
    $snippet_page = new WP_Query(array(
        'post_type' => 'snippets',
        'post_title' => $snippet_title
    ));
    return $snippet_page->posts[0]->post_content;
}
Run Code Online (Sandbox Code Playgroud)

这是对该函数的示例调用:

echo get_snippet('footer_address');
Run Code Online (Sandbox Code Playgroud)

问题是:

它将始终返回所有代码片段,而不是按post_title过滤。

即使我使用get_posts()它,也将始终以相同的顺序返回所有代码段,并且不会基于post_title返回单个代码段。

结果是等效于:

$snippet_page = new WP_Query(array(
    'post_type' => 'snippets'
));
Run Code Online (Sandbox Code Playgroud)

为什么不按“ post_title”过滤?

谢谢

(我也在使用多站点)

这是我的自定义帖子类型初始化代码:

function snippets() {
    $labels = array(
        'name'                => _x( 'Snippets', 'Post Type General Name', 'text_domain' ),
        'singular_name'       => _x( 'Snippet', 'Post Type Singular Name', 'text_domain' ),
        'menu_name'           => __( 'Snippets', 'text_domain' ),
        'name_admin_bar'      => __( …
Run Code Online (Sandbox Code Playgroud)

php wordpress wp-query

3
推荐指数
1
解决办法
2989
查看次数

tail和grep文件以及IP地址的唯一颜色

我坚持尝试着色tail -f输出,以便每个IP地址的IP地址颜色是唯一的.我通过搜索找不到任何东西.

这里有一些代码可以单独为当前的IP地址着色,但每个IP的颜色都是相同的颜色.

tail -f /var/www/domain.com/logs/global.log | egrep --color=auto '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}'

我希望每个IP地址都有一个独特的颜色.因此,您可以区分用户.

我试过了:

tail -f /var/www/domain.com/logs/global.log | GREP_COLOR='01;36' egrep --color -E '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}|$'

我正在尝试找出一种基于IP是什么来定义颜色的方法,但我不确定如何继续.

但迄今为止帮助不大.我在正确的路线上吗?干杯


结果

感谢下面的帮助,这是一个有效的编译答案

# Color ip address only
tail -f /var/www/file | perl -pe 's/\d{1,3}\.\d{1,3}.(\d{1,3})\.\d{1,3}/\033[38;5;\1\2\3m$&\033[39m/g'
Run Code Online (Sandbox Code Playgroud)

我最常用的新东西

# Color entire line
tail -f /var/file.log | perl -pe 's/^.*(\d{1,3})\.(\d{1,3}).(\d{1,3})\.(\d{1,3}).*$/\033[38;5;\2\2\3m$&\033[39m/g'
Run Code Online (Sandbox Code Playgroud)

linux bash grep gnu tail

3
推荐指数
1
解决办法
872
查看次数

JS - 收集一个字符之间的所有字母(:)

我希望根据节点中注释的内容将某些单词转换为图标.

我需要转换一个字符串,如:

这是我最喜欢的项目:9044:和:456:

进入一个像js数组:

[ 9044, 456 ]
Run Code Online (Sandbox Code Playgroud)

我在线尝试了各种正则表达方式,但都没有产生正确的输出.

以前失败的尝试:

------------------

var comment = 'This is my fav item :9044: and :456:';
comment.substring(comment.lastIndexOf(":")+1,comment.lastIndexOf(":"));

// ':'
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

------------------

var comment = 'This is my fav item :9044: and :456:';
comment.match(":(.*):");

// [ ':9044: and :456:', '9044: and :456' ]
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

------------------

var comment = 'This is my fav item :9044: and :456:';
comment.match(/:([^:]+):/);

// [ ':9044:', '9044' ]
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

javascript regex

3
推荐指数
1
解决办法
437
查看次数