小编Gre*_*reg的帖子

WHERE子句中的条件顺序是否会影响MySQL性能?

假设我有一个冗长,昂贵的查询,包含条件,搜索大量行.我还有一个特殊的条件,比如公司ID,它将限制需要大量搜索的行数,将其缩小到数十万甚至几十万.

这样做对MySQL性能有什么影响:

 SELECT * FROM clients WHERE 
       (firstname LIKE :foo OR lastname LIKE :foo OR phone LIKE :foo) AND 
       (firstname LIKE :bar OR lastname LIKE :bar OR phone LIKE :bar) AND 
       company = :ugh
Run Code Online (Sandbox Code Playgroud)

或这个:

 SELECT * FROM clients WHERE 
       company = :ugh AND
       (firstname LIKE :foo OR lastname LIKE :foo OR phone LIKE :foo) AND 
       (firstname LIKE :bar OR lastname LIKE :bar OR phone LIKE :bar) 
Run Code Online (Sandbox Code Playgroud)

mysql sql

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

X-Requested-With标头服务器检查是否足以防止ajax驱动的应用程序的CSRF?

我正在开发一个完全由ajax驱动的应用程序,其中所有请求都通过基本上相当于一个主控制器,在它的骨头上看起来像这样:

if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
    fetch($page);
}
Run Code Online (Sandbox Code Playgroud)

这通常足以防止跨站点请求伪造吗?

当每个请求没有刷新整个页面时,拥有一个旋转令牌是相当不方便的.

我想我可以传递和更新唯一令牌作为一个全局javascript变量与每个请求 - 但不知何故感觉笨拙,似乎本质上不安全.

编辑 - 也许静态令牌,如用户的UUID,会比什么都好?

编辑#2 - 正如鲁克所指出的,这可能是一个令人头疼的问题.我已经阅读了两种方式的猜测,并听到有关旧版本的闪存可用于此类恶作剧的远程窃窃私语.由于我对此一无所知,所以我会向任何可以解释这是CSRF风险的人提供奖励.否则,我将它交给Artefacto.谢谢.

php security ajax csrf token

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

使用键盘选择单选按钮时,更改事件未触发

<script>
$("input[name='my_radio_button']").change(function(){
    if ($("input[@name='my_radio_button']:checked").val() == 'ONE'){
                do_this_stuff(); 
    } else { do_other_stuff(); }
});
</script>

<input type="radio" name="my_radio_button1" id="radio1" value="ONE" checked />
<input type="radio" name="my_radio_button2" id="radio2" value="TWO" />
Run Code Online (Sandbox Code Playgroud)

(假设完整的HTML和脚本在所有准备就绪时触发)

单击以选择单选选项时,更改事件似乎会触发,但在使用键盘更改选择时则不会触发.可以做些什么吗?

编辑 - 如果我使用bind或没有任何区别live- 这只是一个错误吗?

澄清一下,即使失去焦点,事件也不会触发.

编辑2 - 没有人知道这个的原因?

编辑3 - 正如DonaldIsFreak指出这似乎是一个铬问题

jquery

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

Libreoffice - 除非root用户拒绝转换,否则无法使用PHP脚本

运行无头Ubuntu服务器12.something.

根@服务器: chown www-data /my/path/ -R

根@服务器: chgrp www-data /my/path/ -R

根@服务器: chmod 755 /my/path/ -R

根@服务器: libreoffice --headless --convert-to pdf:writer_pdf_Export /my/path/foo.ppt --outdir /my/path

convert /my/path/foo.ppt -> /my/path/foo.pdf
Run Code Online (Sandbox Code Playgroud)

奇迹般有效.


根@服务器: sudo -i -u www-data

$libreoffice --headless --convert-to pdf:writer_pdf_Export /my/path/foo.ppt --outdir /my/path

convert /my/path/foo.ppt -> /my/path/foo.pdf
Error: Please reverify input parameters...
Run Code Online (Sandbox Code Playgroud)

该死的.


根@服务器: sudo -i -u someotheruser

$libreoffice --headless --convert-to pdf:writer_pdf_Export /my/path/foo.ppt --outdir /my/path

convert /my/path/foo.ppt -> /my/path/foo.pdf
Error: Please reverify input parameters...
Run Code Online (Sandbox Code Playgroud)

该死的.

任何人都有任何想法?试图研究这个让我更加困惑.这可能是一个错误还是一些依赖怪癖?

php linux libreoffice

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

这是有效的电子邮件地址吗?

"Françoise Lefèvre"@example.com
Run Code Online (Sandbox Code Playgroud)

我正在阅读RFC 5321,试图真正理解什么是有效的电子邮件地址 - 而且我可能会让它变得比它需要的更难 - 但这一直困扰着我.

               i.e., within a quoted string, any
               ASCII graphic or space is permitted
               without blackslash-quoting except
               double-quote and the backslash itself.
Run Code Online (Sandbox Code Playgroud)

这是否意味着ASCII扩展字符集在引号内有效?或者这仅仅意味着标准的ASCII表

编辑 - 考虑到答案,这里有一个简单的jQuery 验证器,可以补充插件的内置电子邮件验证来检查字符.

jQuery.validator.addMethod("ascii_email", function( value, element ) { 
    // In compliance with RFC 5321, this allows all standard printing ASCII characters in quoted text.
    // Unquoted text must be ASCII-US alphanumeric or one of the following: ! # $ % & ' …
Run Code Online (Sandbox Code Playgroud)

javascript email jquery rfc

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

有没有办法在不使用iframe的情况下将HTML块"沙盒"远离其页面的CSS?

例如,它是否有可能div完全忽略CSS规则,无论它包含什么classes和ids?

html css

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

检查二进制字符串长度?

是否有一种本地或廉价的方法来检查PHP中字符串的长度(以字节为单位)?

php

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

哪个MySQL数据库引擎更适合存储会话和会话数据:MyISAM或InnoDB?

非常直截了当的问题.

出于几个原因,我将InnoDB用于其他一切.对于"高流量"的桌子来说,它是否超过MyISAM的性能?

php mysql session myisam innodb

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

PHP/MySQL:存储和检索UUIDS

我正在尝试将UUID添加到几个表中,但我不确定存储/检索这些表的最佳方法是什么.我知道使用BINARY(16)代替VARCHAR(36)效率更高.在做了一些研究之后,我还发现你可以将UUID字符串转换为二进制:

 UNHEX(REPLACE(UUID(),'-',''))
Run Code Online (Sandbox Code Playgroud)

原谅我的无知,但有一个简单的方法用PHP,然后在需要时将其转回字符串,以提高可读性?

另外,如果我用它作为主键而不是auto_increment会有很大的不同吗?

编辑:

找到部分答案:

 $bin = pack("h*", str_replace('-', '', $guid));
Run Code Online (Sandbox Code Playgroud)

你怎么打开它?

php mysql uuid

7
推荐指数
3
解决办法
4808
查看次数

switch语句中的布尔运算符?

有没有什么方法可以在语法上使用开关来完成这项工作?

switch(i){
    case ('foo' || 'bar'):
        alert('foo or bar');
        break;
    default:
        alert('not foo or bar');
}
Run Code Online (Sandbox Code Playgroud)

javascript

7
推荐指数
2
解决办法
2922
查看次数

标签 统计

php ×5

mysql ×3

javascript ×2

jquery ×2

ajax ×1

csrf ×1

css ×1

email ×1

html ×1

innodb ×1

libreoffice ×1

linux ×1

myisam ×1

rfc ×1

security ×1

session ×1

sql ×1

token ×1

uuid ×1