我正在尝试检查最终用户输入的日期是否在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)
有什么想法吗?
我到处搜索了一个很好的解决方案,但我找不到一个不使用jQuery的解决方案.
是否存在跨浏览器,正常方式(没有奇怪的黑客或容易破解代码),检测元素外部的点击(可能有孩子也可能没有孩子)?
如何更改strpos以使其不区分大小写.原因是如果product->name
是MadBike并且搜索词是自行车它不会回应我的链接.我主要担心的是代码的速度.
<?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) 我想用JavaScript加密,用PHP解密,使用公钥加密.我一直在努力寻找可以实现这一目标的库,但我遇到了问题.
我目前正在查看openpgpjs,但我需要在所有浏览器中提供支持,甚至测试页面也只在列出的受支持浏览器(Google Chrome)上出现错误.
关于最终目标的说明:
TCP连接已受SSL保护.这一保护层的主要目的是防止有意或无意的网络服务器日志记录,崩溃转储等.
在PHP端,将生成临时私钥(它将在短时间后过期).调用者(在Javascript中)负责在新的公钥到期时要求它.私钥到期的原因是为了防止记录加密数据解密,以防存储私钥的服务器稍后被泄露.
服务器受损的情况:有人获取除数据库服务器之外的所有计算机的备份(并且由于防火墙而无法访问数据库,即使他找到了用户和密码).由于加密记录数据的私钥不再存在,攻击者无法做到.
浏览器允许扩展注入代码,操纵DOM等.
多年来,我注意到我正在观看的网站(app)上有很多和各种未被捕获的错误(使用window.onerror),这些错误是由Firefox,Chrome和Internet Explorer(所有版本)上的未知浏览器扩展生成的.
这些错误似乎并没有打断任何事情.现在我想增加这个网站的安全性,因为它将开始处理信用卡.我亲眼目睹了恶意软件/间谍软件感染了浏览器,修改了浏览器扩展(无辜的浏览器扩展,修改为报告给攻击者/脚本小子)作为键盘记录程序(使用琐碎的onkey*事件处理程序,或只是input.value检查).
是否有方法(元标记等)通知浏览器禁止代码注入或读取DOM,标准或非标准?该网页已经是SSL,但这似乎并不重要(如提示浏览器激活更严格的扩展安全性).
.
可能的解决方法(一种拉伸与一种简单的元标记)由他人或我的头脑建议:
修改:Google Chrome会在隐身模式下停用扩展程序,但是,没有标准方法可以检测或自动启用隐身模式,因此必须显示永久警告.
我试图将一个日期选择器添加到我的symfony应用程序,我得到它的工作,但日期选择器的大小约为正常情况下的3倍(在演示页面上).我没有编辑任何CSS,我只是使用默认的ui轻盈主题没有修改.
有没有人知道为什么尺寸这么大?
CSS:
我很怀疑这将是非常有用的.
我已经尝试了几个正则表达式,但有时候一些有效的邮政编码会被拒绝.
搜索互联网,维基百科和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) 我需要一个独立的JavaScript onscroll
事件处理程序(没有 jQuery,Prototype,mootools等框架),它也是跨浏览器.
我搜索了一个,我只能使用jQuery或Prototype找到数千个例子.
带有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"=>false
file_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 ×5
javascript ×4
browser ×1
date-format ×1
datepicker ×1
firefox ×1
http-headers ×1
https ×1
jquery ×1
jquery-ui ×1
meta-tags ×1
pgp ×1
postal-code ×1
public-key ×1
regex ×1
robots.txt ×1
rsa ×1
ssl ×1
strpos ×1