小编Tib*_*tan的帖子

用于检查日期的PHP Regex是YYYY-MM-DD格式

我正在尝试检查最终用户输入的日期是否在YYYY-MM-DD中.正则表达式从来都不是我的强项,我不断为我设置的preg_match()获得错误的返回值.

所以我假设我弄乱了正则表达式,详情如下.

$date="2012-09-12";

if (preg_match("^[0-9]{4}-[0-1][0-9]-[0-3][0-9]$",$date))
    {
        return true;
    }else{
        return false;
    }
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

php regex date-format

82
推荐指数
10
解决办法
21万
查看次数

检测点击外部元素(vanilla JavaScript)

我到处搜索了一个很好的解决方案,但我找不到一个不使用jQuery的解决方案.

是否存在跨浏览器,正常方式(没有奇怪的黑客或容易破解代码),检测元素外部的点击(可能有孩子也可能没有孩子)?

javascript

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

如何使strpos不区分大小写

如何更改strpos以使其不区分大小写.原因是如果product->nameMadBike并且搜索词是自行车它不会回应我的链接.我主要担心的是代码的速度.

<?php
$xml  = simplexml_load_file('test.xml');
$searchterm = "bike";
foreach ($xml->product as $product) {
if (strpos($product->name, $searchterm) !== false ) {
echo $product->link;
} }
?>
Run Code Online (Sandbox Code Playgroud)

php strpos

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

使用公钥加密在Javascript中加密,在PHP中解密

我想用JavaScript加密,用PHP解密,使用公钥加密.我一直在努力寻找可以实现这一目标的库,但我遇到了问题.

我目前正在查看openpgpjs,但我需要在所有浏览器中提供支持,甚至测试页面也只在列出的受支持浏览器(Google Chrome)上出现错误.

关于最终目标的说明:

TCP连接已受SSL保护.这一保护层的主要目的是防止有意或无意的网络服务器日志记录,崩溃转储等.

在PHP端,将生成临时私钥(它将在短时间后过期).调用者(在Javascript中)负责在新的公钥到期时要求它.私钥到期的原因是为了防止记录加密数据解密,以防存储私钥的服务器稍后被泄露.

服务器受损的情况:有人获取除数据库服务器之外的所有计算机的备份(并且由于防火墙而无法访问数据库,即使他找到了用户和密码).由于加密记录数据的私钥不再存在,攻击者无法做到.

javascript php rsa pgp public-key

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

防止浏览器扩展注入Javascript代码

浏览器允许扩展注入代码,操纵DOM等.

多年来,我注意到我正在观看的网站(app)上有很多和各种未被捕获的错误(使用window.onerror),这些错误是由Firefox,Chrome和Internet Explorer(所有版本)上的未知浏览器扩展生成的.

这些错误似乎并没有打断任何事情.现在我想增加这个网站的安全性,因为它将开始处理信用卡.我亲眼目睹了恶意软件/间谍软件感染了浏览器,修改了浏览器扩展(无辜的浏览器扩展,修改为报告给攻击者/脚本小子)作为键盘记录程序(使用琐碎的onkey*事件处理程序,或只是input.value检查).

是否有方法(元标记等)通知浏览器禁止代码注入或读取DOM,标准或非标准?该网页已经是SSL,但这似乎并不重要(如提示浏览器激活更严格的扩展安全性).

.

可能的解决方法(一种拉伸与一种简单的元标记)由他人或我的头脑建议:

  • 用于输入数字的虚拟键盘+非文本输入(也称为数字的img)
  • 使用Flash的远程桌面(有人建议使用HTML5,但这并不能解决浏览器扩展监听键盘事件;只有Flash,Java等可以).
  • 非常复杂的基于Javascript的保护(删除非白名单的事件监听器,内存中输入值以及受实际星号字符保护的输入等)(不可行,除非它已经存在)
  • 具有防病毒角色的浏览器扩展或可能以某种方式保护特定网页(这是不可行的,如果不产生大量问题,甚至可能无法实现)

修改:Google Chrome会在隐身模式下停用扩展程序,但是,没有标准方法可以检测或自动启用隐身模式,因此必须显示永久警告.

javascript browser firefox internet-explorer google-chrome

29
推荐指数
2
解决办法
5291
查看次数

jquery ui datepicker字体大小很大

我试图将一个日期选择器添加到我的symfony应用程序,我得到它的工作,但日期选择器的大小约为正常情况下的3倍(在演示页面上).我没有编辑任何CSS,我只是使用默认的ui轻盈主题没有修改.

有没有人知道为什么尺寸这么大?

CSS:

http://paste2.org/p/835414

我很怀疑这将是非常有用的.

jquery jquery-ui datepicker jquery-ui-datepicker

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

用于检测Google Chrome的预加载请求的HTTP标头

Google Chrome 17引入了一项新功能,该功能可预加载网页,以便在实际发出请求时提高呈现速度(点击输入omnibar).

两个问题:是否有HTTP头在服务器端检测到这样的请求,如果实际存在一个什么是正确的响应以防止这样的预加载(以防止可能产生不良影响的意外请求)?

在进行预加载请求之前,Google Chrome是否会检查robots.txt?是否有针对此特定行为的robots.txt设置?(我希望/希望不允许已经有效).

是否有元标记通知Google Chrome永远不会在当前域上再次预加载?

google-chrome robots.txt meta-tags http-headers

13
推荐指数
2
解决办法
7710
查看次数

没有正则表达式的英国(GB)邮政编码验证

我已经尝试了几个正则表达式,但有时候一些有效的邮政编码会被拒绝.

搜索互联网,维基百科和SO,我只能找到正则表达式验证解决方案.

有没有使用正则表达式的验证方法?在任何语言中,我想这很容易移植.

我认为最简单的方法是与邮政编码数据库进行比较,但需要从可靠的来源定期维护和更新.

编辑:为了帮助未来的访问者并让你不再发布任何正则表达式,这里是我测试的一个正则表达式(截至2013-04-24),适用于Code Point中的所有邮政编码(请参阅@MikkelLøkke的回答):

//PHP PCRE (it was on Wikipedia, it isn't there anymore; I might have modified it, don't remember).
$strPostalCode=preg_replace("/[\s]/", "", $strPostalCode);
$bValid=preg_match("/^(GIR 0AA)|(((A[BL]|B[ABDHLNRSTX]?|C[ABFHMORTVW]|D[ADEGHLNTY]|E[HNX]?|F[KY]|G[LUY]?|H[ADGPRSUX]|I[GMPV]|JE|K[ATWY]|L[ADELNSU]?|M[EKL]?|N[EGNPRW]?|O[LX]|P[AEHLOR]|R[GHM]|S[AEGKLMNOPRSTY]?|T[ADFNQRSW]|UB|W[ADFNRSV]|YO|ZE)[1-9]?[0-9]|((E|N|NW|SE|SW|W)1|EC[1-4]|WC[12])[A-HJKMNPR-Y]|(SW|W)([2-9]|[1-9][0-9])|EC[1-9][0-9])[0-9][ABD-HJLNP-UW-Z]{2})$/i", $strPostalCode);
Run Code Online (Sandbox Code Playgroud)

php postal-code

13
推荐指数
2
解决办法
6651
查看次数

JavaScript`onscroll`事件独立(没有框架)

我需要一个独立的JavaScript onscroll事件处理程序(没有 jQuery,Prototype,mootools等框架),它也是跨浏览器.

我搜索了一个,我只能使用jQuery或Prototype找到数千个例子.

javascript

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

file_get_contents忽略verify_peer => false?

带有https主机的file_get_contents工作得很好,除了特定主机(来自某公司的测试api服务器 - ip白名单,不能给你测试URL).这排除了未加载https模块和其他初始设置错误.

我已经测试了多个PHP安装,全部是v5.3.3,32位,Debian 32位.

该请求适用于cURL,但仅限于设置curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);.但是,设置verify_peer"=>falsefile_get_contents的上下文似乎没有区别.

使用file_get_contents时,完全相同的请求(相同的URL,相同的XML POST数据)会因SSL失败:连接由对等方重置:

$arrContextOptions=array(
    "http" => array(
        "method" => "POST",
        "header" => 
            "Content-Type: application/xml; charset=utf-8;\r\n".
            "Connection: close\r\n",
        "ignore_errors" => true,
        "timeout" => (float)30.0,
        "content" => $strRequestXML,
    ),
    "ssl"=>array(
        "allow_self_signed"=>true,
        "verify_peer"=>false,
    ),
);

file_get_contents("https://somedomain:2000/abc/", false, stream_context_create($arrContextOptions));
Run Code Online (Sandbox Code Playgroud)

.

有没有人遇到过file_get_contents?任何想法如何调试?

php ssl https

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