小编ck_*_*ck_的帖子

适用于iPhone/iPad的javascript滚动活动?

我似乎无法在iPad上捕捉滚动事件.这些都不起作用,我做错了什么?

window.onscroll=myFunction;

document.onscroll=myFunction;

window.attachEvent("scroll",myFunction,false);

document.attachEvent("scroll",myFunction,false);
Run Code Online (Sandbox Code Playgroud)

它们甚至可以在Windows上的Safari 3上运行.具有讽刺意味的是,window.onload=如果您不介意破坏现有事件,PC上的每个浏览器都会支持.但没有去iPad.

javascript iphone scroll onscroll ipad

105
推荐指数
4
解决办法
21万
查看次数

比在配置文件中以纯文本格式存储mysql密码更好的方法?

很多PHP程序都要求用户以明文形式(以字符串或常量形式)将mysql密码存储在应用程序根目录的配置文件中,这一直困扰着我.

经过这么多年,有没有更好的方法呢?

到目前为止,我已经提出了两个最小的安全性提升:

  1. 使用.htaccess中的规则通过网络使文件无法读取(如果php失败或有安全漏洞需要读取php源代码)

  2. 在建立db connect(unset)之后销毁内存中的密码(以防止来自安全漏洞,注入等的字符串转储)

但当然这些都没有解决原来的问题.

感谢您的任何其他想法!

php mysql security passwords

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

在javascript中的array_flip?

是否有任何捷径可以在javascript中完成相当于PHP的array_flip,还是必须通过暴力循环来完成?

它必须用于几十个阵列,所以即使很小的加速也可能会加起来.

javascript arrays

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

没有Suhosin,PHP 5.4安全吗?

我目前正在开发一个PHP CMF,它最终将在商业上可用,我想使用特征.然而问题是特性是PHP 5.4特性,显然流行的Suhosin安全补丁与PHP 5.4不兼容.

所以我的问题是:在没有Suhosin安全补丁的情况下运行PHP网站是否安全?如果没有,我会让自己和其他人使用我的CMF的漏洞是什么?

注意:我不关心共享托管.预计使用我的CMF的任何人都可以对其Web服务器进行管理控制.

php suhosin

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

PHP是否在数组上设置了内存限制?

我在PHP中有一个奇怪的内存问题.我认为有些东西只允许一个数组最大为0.25M.看起来脚本在崩溃之前只使用了大约6M.

这是xdebug的输出:

在此输入图像描述

这是它正在调用的功能.sql查询的结果是大约800行文本.

public function getOptions(){
    $sql = "select Opt,
                   Code,
                   Description
            from PCAOptions";

    $result = sqlsrv_query($this->conn,$sql);

    $arrayResult = array();
    echo ini_get('memory_limit'); //this confirms that my memory limit is high enough
    while($orderObject = sqlsrv_fetch_object($result,'PCA_Option')){
        array_push($arrayResult, $orderObject);
    }
    return $arrayResult;
}
Run Code Online (Sandbox Code Playgroud)

php arrays xdebug suhosin

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

ios9移动safari景观css bug与位置:绝对底部:0

我似乎无法找到解决方法.

在移动safari中的ios9上,如果webapp使用position:absolute并且bottom:0内容区域覆盖整个屏幕,则在landscape modesafari导航栏中将覆盖内容的底部并且您无法滚动它 - 它不会以纵向阻止.

  1. 肖像模式很好,即使有导航栏
  2. 它不是一个方向更改错误,如果页面是在横向启动的话会发生
  3. 如果将网页添加到主屏幕,则不会发生错误,在横向上工作完美且内容可见(因为导航不存在)

那么为什么徒步旅行bottom:0在画像中得到正确而不是风景呢?

css html5 landscape mobile-safari ios

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

我可以在MySQL查询中重用一个表达式作为另一个字段的变量吗?

是否有任何解决方法,所以我可以实际做这样的事情而不必重复整个表达式或强制UNION或临时表?

SELECT  (complex expression) AS variable1,
        (complex expression based on variable1) AS variable2
Run Code Online (Sandbox Code Playgroud)

由于mysql的工作方式没有定义variable1并且第2项可用,因此上述概念永远不会起作用.

我要么必须重复变量2的表达式,要么使用UNION或临时表并使用两遍.

是否有一些我不知道的技巧可以更有效地实现这一目标?

(注意我需要知道variable1和variable2的答案,因为它们用于INSERT)

谢谢你的任何想法!

mysql

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

PHP会话的安全性

我知道这已被问过数十亿次,但我对于编码的安全性我是超级偏执/强迫症.我正在做一个小项目.会话数据仅包含:

user_id 1
user_name MyUsername
logged_in true
csrf_token 87cc51ee94178df79cccce2aebc45d53

这是我的代码.它是否足够安全,可以在小型CMS上使用?

session_start();

ini_set('session.cookie_httponly', 'On');
ini_set('session.cookie_secure', 'On');
ini_set('session.use_cookies', 'On');
ini_set('session.use_only_cookies', 'On');

$rand = rand(1, 10);

if ($rand != 1 || $rand != 3 || $rand != 5)
    session_regenerate_id();

$user_ip = md5($_SERVER['REMOTE_ADDR']);
$user_agent = md5($_SERVER['HTTP_USER_AGENT']);

if (isset($_SESSION['user_ip'], $_SESSION['user_agent'])) {
    $session_user_ip = $_SESSION['user_ip'];
    $session_user_agent = $_SESSION['user_agent'];

    if ($session_user_ip != $user_ip || $session_user_agent != $user_agent) {
        unset($_SESSION);
        session_destroy();

        die('Error');
    }
} else {
    $_SESSION['user_ip'] = $user_ip;
    $_SESSION['user_agent'] = $user_agent;
}
Run Code Online (Sandbox Code Playgroud)

然后调用会话:

$_SESSION['user_id'] = …
Run Code Online (Sandbox Code Playgroud)

php security session suhosin

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

Javascript:z = z || []不使用VAR时会抛出错误 - 为什么?

出于好奇的好奇心,为什么javascript会接受

var z = z || [];
Run Code Online (Sandbox Code Playgroud)

初始化z(因为z可能最初定义)

但没有var,它会抛出一个错误(在全球空间)

z = z || [];
Run Code Online (Sandbox Code Playgroud)

(如果z先前未定义)

在全球空间中,您不需要使用VAR,但我得到它可能是不好的做法.

在你说这是一个重复的问题之前

var关键字的用途是什么以及何时使用它(或省略它)?

注意声明"如果你在全球范围内那么没有区别."

显然,根据我的工作实例,这并非100%正确.

这是一个怪癖还是有合法的逻辑?


在我学会的时候添加答案摘要:

感谢蒂姆(见下文)我误解的关键是没有意识到这一点(javascript的基础)

var z; 如果z已经存在,则绝对没有

这就是这个表达式似乎有两种方式,如果你错误的假设"var z"总是初始化.

从左边开始,"var z"只是确保定义了z,但是如果已经存在,则实际上不会影响任何现有值.然后在右边,如果z已经存在,则使用它,否则,变量刚刚被声明(但是为空),因此它不会被使用但不会引发错误.

这是关于Javascript中这种范围和提升问题的优秀文章:http: //www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting

非常感谢minitech和其他所有贡献者!

javascript var scoping operator-precedence hoisting

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

当唯一索引存在时,为什么MySQL Innodb"创建排序索引"?

在一个简单但非常大的InnoDB表,我对A列的唯一索引,我想在(整数)列A的为了得到(整数)B列的列表

非常简单的查询,我正在翻阅数百万条记录.

SELECT B FROM hugeTable ORDER BY A LIMIT 10000 OFFSET 500000

在非常快的服务器上每次查询需要10秒钟?

Filesort: Yes Filesort_on_disk: Yes Merge_passes: 9

这对我来说没有意义,为什么它不能使用索引A?

说明显示简单,没有可能的键和文件.

mysql innodb sql-order-by filesort

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