小编Sut*_*ala的帖子

CodeIgniter会话由机器人发送垃圾邮件

我有一个每天大约有2000名访问者的网站,该网站被各种搜索引擎机器人发送垃圾邮件.我尝试将会话过期时间减少到20分钟,但仍然有很多mysql_slow_queries.所以我在查看文章,Google crawler,cron和codeigniter会话,完全忽略会话表中的机器人,但他们的方式是,忽略了IPs,但是当我分析数据库时,我看到同样的机器人使用不同IPs.我注意到机器人每次都使用相同的用户代理,因此忽略用户代理是否安全?可以采取哪些必要步骤来避免慢速查询并忽略机器人?

一些SLOW查询

INSERT INTO `ci_sessions` (`session_id`, `ip_address`, `user_agent`, `last_activity`, `user_data`) VALUES ('619bfd8ef4171480645feb17a15323ee', '219.92.135.144', 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15', 1384875135, '')

INSERT INTO `ci_sessions` (`session_id`, `ip_address`, `user_agent`, `last_activity`, `user_data`) VALUES ('fa48b5168b8e84d90dc9b87ce65dfc89', '66.249.74.112', 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)', 1384875522, '')
Run Code Online (Sandbox Code Playgroud)

php session bots codeigniter codeigniter-2

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

如何从 .env 文件获取环境变量到 docker-compose.yml?

我有一个.env文件和一个 docker-compose 文件。我使用env_filedocker-compose 上的属性引用了 env 文件。然后我使用变量插值来使用 .env 文件中定义的变量设置另一个环境变量。出于某种原因,Docker 无法识别 .env 文件中定义的变量。

app.env :

MYSQL_DATABASE=wordpress
DB_USER=root
MYSQL_ROOT_PASSWORD=example
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

version: '3.1'
services:
  wordpress:
    container_name: 'wp'
    build: .
    restart: unless-stopped
    links:
      - mysql
    env_file:
      - app.env
    environment:
      - WORDPRESS_DB_USER=${DB_USER}
      - WORDPRESS_DB_PASSWORD=${MYSQL_ROOT_PASSWORD}
      - WORDPRESS_DB_NAME=${MYSQL_DATABASE}
    ports:
      - 80:80
Run Code Online (Sandbox Code Playgroud)

environment-variables docker docker-compose

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

在WP 4.4.1之后防止WordPress主页重定向

即使使用停放的域到达页面,WP也会将主页重定向到home_url(或者site_url不确定,因为它们都是相同的值).这是在最近更新后开始的.此外,我确认,没有htaccess,服务器配置或任何插件进行重定向.

经过深入研究后,我发现的解决方案是将以下内容放在functions.php中remove_action('template_redirect', 'redirect_canonical');.这个解决方案已有数年之久,似乎不再适用.

我设置的方式是将域停放到WP站点,显示的内容基于域.只是在索引页面上发生,如果它有任何附加的URL,它就可以工作.任何帮助表示赞赏.

wordpress redirect url-redirection wordpress-hook

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

在所有页面上显示 Rails 控制台

当我在开发模式下在 Rails 5.0 应用程序页面上遇到错误时,我收到一个错误页面,web-console页面底部有 Rails,如下面的屏幕截图所示。控制台对于运行发生错误的控制器的方法似乎非常有用。

示例控制台

是否可以在所有页面上启用它,以便我可以访问它而不会出现错误页面?

ruby-on-rails rails-console ruby-on-rails-5

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

jQuery 匿名函数的 ES Lint 错误

我的代码如下:

$('.panel').each( function() {
    $(this).css('height', 'auto');
    $(this).find('.portlet-panel-item').css('height', 'auto');
});
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:37:26 warning Missing function expression name func-names

我无法使用 ES6 箭头函数,因为这this两个用例正在处理该方式。

如何解决这个问题,而不必为每个函数添加命名函数?

javascript jquery lint eslint

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

调试通过 Chrome 控制台添加的脚本

我通过 Chrome 的开发工具控制台添加一些 JavaScript,只需粘贴一组代码即可。无法在“源”面板上打开该代码,因此我可以使用断点进行调试。是否有正确的方法来打开通过控制台添加的“源”面板上的代码?

debugger;除了随代码添加之外的任何其他方式。或者是语法错误,然后在右侧显示文件名,这会在“源”面板的选项卡中打开代码。附上所附屏幕截图上的两个场景。

在此输入图像描述

javascript google-chrome-devtools google-chrome-console

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

Rails 如何获取我们忽略deleted_at 属性以及其他属性的条目

我有模型Store。我想通过 来检查数据库中是否存在条目Store.where(:google_place_id => 'XXXX')。我只想检查它是否存在于数据库中,无论它是否被(软)删除。

当我尝试这样做时,rails 运行以下 SQL: SELECT "stores".* FROM "stores" WHERE "stores"."deleted_at" IS NULL AND "stores"."google_place_id" = $1 LIMIT $2 [["google_place_id", "XXX"], ["LIMIT", 1]]

经过一些研究后,我偶然发现了这个unscoped属性,它会删除这个deleted_at子句,但同时也会删除整个 WHERE 子句。例如,如果我尝试这样做,Store.where(:google_place_id => 'XXXX').unscoped它会运行这个 SQLSELECT "stores".* FROM "stores" WHERE "stores"."deleted_at" IS NULL AND "stores"."google_place_id" = $1 LIMIT $2 [["google_place_id", "XXX"], ["LIMIT", 1]]

有人可以澄清我做错了什么吗?

activerecord ruby-on-rails rails-activerecord

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

无法将事件绑定到jquery.steps向导中的输入

我正在使用http://www.jquery-steps.com/上的向导.使用向导的所有内容都非常流畅,但是当我尝试将事件绑定到该向导中的输入字段时,它无法正常工作.以下是该问题的基本代码:

<div class="content">
            <h1>Basic Demo</h1>


            <div id="wizard">
                <h2>First Step</h2>
                <section>
                    <input type="text" class="namer" />

                    <div class="text">This should be replaced</div>

                <h2>Second Step</h2>
                <section>
                    <pdfsgdf</p>
                </section>

            </div>
        </div>

<script>
$(".namer").change(function(e){
  $(".text").html($(this).val()); 
});

$(function ()
                {
                    $("#wizard").steps({
                        headerTag: "h2",
                        bodyTag: "section",
                        transitionEffect: "slideLeft"
                    });
                });

</script>
Run Code Online (Sandbox Code Playgroud)

JSFiddle位于http://jsfiddle.net/m23px/

javascript jquery jquery-steps

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