$.validator.addMethod('AZ09_', function (value) {
return /^[a-zA-Z0-9.-_]+$/.test(value);
}, 'Only letters, numbers, and _-. are allowed');
Run Code Online (Sandbox Code Playgroud)
当我使用某些东西test-123
时仍然触发,就像连字符无效一样.我试着\-
和--
if len(trashed_files) == 0 :
print "No files trashed from current dir ('%s')" % os.path.realpath(os.curdir)
else :
index=raw_input("What file to restore [0..%d]: " % (len(trashed_files)-1))
if index == "*" :
for tfile in trashed_files :
try:
tfile.restore()
except IOError, e:
import sys
print >> sys.stderr, str(e)
sys.exit(1)
elif index == "" :
print "Exiting"
else :
index = int(index)
try:
trashed_files[index].restore()
except IOError, e:
import sys
print >> sys.stderr, str(e)
sys.exit(1)
Run Code Online (Sandbox Code Playgroud)
我正进入(状态:
elif index == "" :
^
IndentationError: expected …
Run Code Online (Sandbox Code Playgroud) 我想用来return false
打破.each()但同时返回一个值.我怎样才能做到这一点?
请参考解决方法以查看我要执行的操作:
function HasStores(state) {
var statehasstores = false;
$(stores).each(function (index, store) {
if (state == store.state && store.category == "meyers") {
statehasstores = true;
return false; // break
}
});
return statehasstores;
}
Run Code Online (Sandbox Code Playgroud)
在伪代码中我喜欢做的是:
Function () {
for() {
if found {
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud) 我已经看过很多关于如何获取CSV文件然后创建一个以标题为关键字的关联数组的例子.
例如:
Brand,Model,Part,Test
Honda,Civic,123,244
Honda,Civic,135,434
Toyota,Supra,511,664
Run Code Online (Sandbox Code Playgroud)
它会创建一个Array,如 Array[$num][$key]
这里$key
将是品牌,型号,部件,测试.
因此,如果我想访问测试值"434",我将不得不循环数组中的每个索引,然后忽略任何不是本田的品牌,以及任何不是思域的模型
我需要做的是最直接地访问值,而不是通过每个$ num索引的for循环运行.我希望能够访问价值测试"434":
Array['Honda']['Civic']['135']
或控制一个for语句循环通过每个模型本田有......类似的东西
foreach $model in Array['Honda']
至少我需要能够通过给定已知品牌的每个模型并访问每个模型的所有相关信息.
编辑:
只是为了确认我正在设置这个例子.我的实际数据有以下标题:
brand model part price shipping description footnote
其中我需要访问与该部件相关的所有信息(价格,运输,desc,脚注)
如何将字符串如"01110100011001010111001101110100"转换为字节数组,然后使用File.WriteAllBytes,使得确切的二进制字符串是文件的二进制.在这种情况下,它将是文本"test".
如何让div 导航器向下扩展或者高度与它的父div(容器)相同?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<title></title>
<style type="text/css">
* {border:0; padding:0; margin:0;}/* Set everything to "zero" */
#container {
margin-left: auto;
margin-right: auto;
border: 1px solid black;
overflow: auto;
width: 800px;
}
#nav {
width: 19%;
border: 1px solid green;
float:left;
}
#content {
width: 79%;
border: 1px solid red;
float:right;
}
</style>
<div id=container>
<div id=nav>
<ul>
<li>Menu</li> …
Run Code Online (Sandbox Code Playgroud) 假设一个表如:
UID Name Datetime Users
4 Room 4 2012-08-03 14:00:00 3
2 Room 2 2012-08-03 14:00:00 3
3 Room 3 2012-08-03 14:00:00 1
1 Room 1 2012-08-03 14:00:00 2
3 Room 3 2012-08-03 14:15:00 1
2 Room 2 2012-08-03 14:15:00 4
1 Room 1 2012-08-03 14:15:00 3
1 Room 1 2012-08-03 14:30:00 6
1 Room 1 2012-08-03 14:45:00 3
2 Room 2 2012-08-03 14:45:00 7
3 Room 3 2012-08-03 14:45:00 8
4 Room 4 2012-08-03 14:45:00 4
Run Code Online (Sandbox Code Playgroud)
我希望从下午2点到下午3点获得每个房间(1,2,3,4)的平均用户数.问题是有时房间可能不会在15分钟的间隔时间"登记",因此必须假设前一个最后已知的用户计数仍然有效.
例如,2012-08-03 …
谷歌地图和MSSQL似乎不同意如何使用SRID 4326计算折线/线串的距离/长度.
MSSQL:
SELECT geography::STGeomFromText('LINESTRING(-98.78 39.63,2.98 27.52)', 4326).STLength()
Run Code Online (Sandbox Code Playgroud)
结果: 9030715.95721209
然后谷歌地图:
http://jsbin.com/niratiyojo/1/
结果: 9022896.239500616
起初我以为它只是一个不同的地球测量半径,所以我玩弄了它,事实证明它更多.
我需要我的JavaScript界面来匹配MSSQL报告的内容以保持一致和准确.我在哪里或如何找到MSSQL如何计算它们STLength()
并且可以在JavaScript中复制?
更新:
我意识到我是否这样做
SELECT GEOGRAPHY::STGeomFromText('LINESTRING(-98.78 39.63,2.98 27.52)', 104001).STLength() * 6378137
Run Code Online (Sandbox Code Playgroud)
然后MSSQL返回 9022896.23950062
MSSQL中的新SRID:
新的"单位球体"空间参考ID SQL Server 2012中的默认空间参考ID(SRID)为4326,它使用公制系统作为其度量单位.该SRID也代表地球真正的椭球形状.虽然这种表示最准确,但计算精确椭球数学也更复杂.SQL Server 2012通过添加新的空间参考ID(SRID)104001来提供速度和准确性的折衷,它使用半径为1的球体来表示完美的圆形地球.
所以问题是Google Maps在计算中不使用真正的椭球体.我正在寻找一个9030715.95721209
见证的javascript函数.
我在这里试过Vincenty直接公式:http://jsbin.com/noveqoqepa/1/edit?html,js,console,虽然距离我更接近我仍然无法匹配MSSQL
编辑2:
我能够找到它使用的测量值:
SridList._sridList.Add(4326, new SridInfo(4326, "EPSG", 4326, "GEOGCS[\"WGS 84\", DATUM[\"World Geodetic System 1984\", ELLIPSOID[\"WGS 84\", 6378137, 298.257223563]], PRIMEM[\"Greenwich\", 0], UNIT[\"Degree\", 0.0174532925199433]]", "metre", 1.0, 6378137.0,
6356752.314));
Run Code Online (Sandbox Code Playgroud)
但似乎将这些插入Vincenty不会产生任何好运.
PHP必须mysql_real_escape_string()
正确地转义任何可能导致问题的字符.模仿BASH的这种功能的最佳方法是什么?
反正有没有使用bash做准备的mysql语句?这似乎是最好的方式.
我的大多数变量都不会(不应该)有特殊字符,但我给用户完全自由的密码.它可能包含"和"之类的字符.
我可能正在做多个SQL语句,所以我想创建一个接受参数然后运行语句的脚本.这是我到目前为止:
doSQL.sh:
#!/bin/sh
SQLUSER="root"
SQLPASS="passwor339c"
SQLHOST="localhost"
SQL="$1"
SQLDB="$2"
if [ -z "$SQL" ]; then echo "ERROR: SQL not defined"; exit 1; fi
if [ -z "$SQLDB" ]; then SQLDB="records"; fi
echo "$SQL" | mysql -u$SQLUSER -p$SQLPASS -h$SQLHOST $SQLDB
Run Code Online (Sandbox Code Playgroud)
以及使用所述命令的示例:
example.sh:
PASSWORD=$1
doSQL "INSERT INTO active_records (password) VALUES ('$PASSWORD')"
Run Code Online (Sandbox Code Playgroud)
如果密码密码中包含单引号,显然会失败.
第一,
我想表明我知道从客户端发送的任何信息都不可信,因为它可能是欺骗性的.我对通过默默无闻的安全方法感兴趣,以阻止99.9%的潜在骗子和能够检测到实时绕过安全的程序.
我对此有一些想法包括验证它正在保护的游戏的文件和内存校验和以及任何潜在的作弊应用程序,允许客户端根据服务器的请求扫描(通过TCP),以检测内存注入作弊或作弊记忆足迹.因此,旁路黑客必须侦听在SSL上发送给它的所有TCP信息,然后通过反汇编加密/解密功能来解密消息,以了解它想要什么.类似地,客户端本身可能是自我更改的,并允许它随机添加/删除功能(但由服务器保留),以便欺骗学习如何绕过它.这可能毫无意义?
我发现对于经验较丰富的人来说这只是中等难度,所以我对其他可能难以绕过的方法持开放态度.
我只对可能的实现感兴趣,而不是对客户端的反热是不可能的,我只是想让它变得非常困难.
添加了Minecraft和java标签,它适用于Minecraft,我知道社区足够大,有人可能会击败我的系统,但我希望通过使用不断更新和更改,我可以通过聪明才智和坚持不懈来打败他们.
编辑:我发现这篇文章:如何防止在我们的(多人)游戏中作弊?我正在添加他的建议,所以不要重复,因为我正在寻找比明显更多的想法(我不确定他是否可以绕过)
1)打开所有其他进程,并挂钩其WriteProcessMemory函数,以便它们无法写入游戏进程中的内存.做得好这一步将阻止所有作弊和欺骗引擎的90%.
2)做同样的事情,挂钩各种鼠标和键盘仿真功能.这将阻止许多目标机器人和其他类型的自动化机器人.
3)在游戏自己的进程中加入VirtualProtectEx/VirtualAllocEx/etc函数,并监视哪些模块正在改变保护级别或分配新的内存块.你必须要狡猾,以防止它在你的游戏进行大量分配时过于集中CPU,但是可以做到.
4)挂钩LoadLibrary函数并监视动态加载的任何DLL,以防止DLL注入.
5)在游戏连接上使用一些轻量级多态编码.
6)使用一些反调试技术来防止调试器附加到您的进程.谷歌反调试,你应该能找到很多东西.
7)使用定制的专有PE打包器来防止有用的游戏拆卸.
8)了解处理透明度和alpha混合的OpenGL或Direct3D函数和方法.
9)如果使用着色器,则校验和着色器和着色器常量值.
10)对玩家角色使用额外的遮挡剔除技术,以防止在他们的视线被其他几何体阻挡时完全渲染它们.它也可能对您的表现有所帮助,也可能没有帮助,但它可以防止许多问题.
javascript ×3
jquery ×2
mysql ×2
php ×2
anti-cheat ×1
arrays ×1
associative ×1
average ×1
bash ×1
binary ×1
c# ×1
css ×1
csv ×1
date ×1
escaping ×1
gis ×1
google-maps ×1
html ×1
java ×1
minecraft ×1
python ×1
regex ×1
sh ×1
sql ×1
sql-server ×1
sqlgeography ×1
ssh ×1
testing ×1
validation ×1