我有一个每天大约有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) 我有一个.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) 即使使用停放的域到达页面,WP也会将主页重定向到home_url(或者site_url不确定,因为它们都是相同的值).这是在最近更新后开始的.此外,我确认,没有htaccess,服务器配置或任何插件进行重定向.
经过深入研究后,我发现的解决方案是将以下内容放在functions.php中remove_action('template_redirect', 'redirect_canonical');.这个解决方案已有数年之久,似乎不再适用.
我设置的方式是将域停放到WP站点,显示的内容基于域.只是在索引页面上发生,如果它有任何附加的URL,它就可以工作.任何帮助表示赞赏.
当我在开发模式下在 Rails 5.0 应用程序页面上遇到错误时,我收到一个错误页面,web-console页面底部有 Rails,如下面的屏幕截图所示。控制台对于运行发生错误的控制器的方法似乎非常有用。
是否可以在所有页面上启用它,以便我可以访问它而不会出现错误页面?
我的代码如下:
$('.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两个用例正在处理该方式。
如何解决这个问题,而不必为每个函数添加命名函数?
我通过 Chrome 的开发工具控制台添加一些 JavaScript,只需粘贴一组代码即可。无法在“源”面板上打开该代码,因此我可以使用断点进行调试。是否有正确的方法来打开通过控制台添加的“源”面板上的代码?
debugger;除了随代码添加之外的任何其他方式。或者是语法错误,然后在右侧显示文件名,这会在“源”面板的选项卡中打开代码。附上所附屏幕截图上的两个场景。
我有模型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]]
有人可以澄清我做错了什么吗?
我正在使用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 ×3
jquery ×2
activerecord ×1
bots ×1
codeigniter ×1
docker ×1
eslint ×1
jquery-steps ×1
lint ×1
php ×1
redirect ×1
session ×1
wordpress ×1