使用正则表达式验证信用卡的正确方法是什么?如果使用哪一个在线有吨.如果不是如何验证?
我正在写一个Bytecode指导员.现在,我试图找出在物体存在的情况下如何做到这一点.我想对我在JVMS中阅读的两行(第4.9.4节)做一些澄清:
1)"验证者在初始化之前拒绝使用新对象的代码."
我的问题是,"使用"在这里意味着什么?我猜它的意思是:把它当作一个方法属性,调用GETFIELD和PUTFIELD它,或调用它的任何实例方法.他们的其他禁止用途是什么?而且我相信它遵循其他指令,例如DUP,LOAD并且STORE被允许.
2)"在该方法调用myClass的另一个实例初始化方法或其直接超类之前,该方法可以对此执行的唯一操作是分配在myClass中声明的字段."
这意味着在一个<init>方法中,GETFIELD和PUTFIELD在<init>被调用之前是允许的.但是,在Java中,在调用之前对实例字段执行任何操作super()或this()导致编译错误.有人可以澄清一下吗?
3)我还有一个问题.对象引用何时初始化,因此可以自由使用?通过阅读JVMS,我想出了一个对象是否被初始化的答案,取决于每个方法.在某个时间点,可以为方法初始化对象,但不能为另一个方法初始化对象.具体来说,当<init>该方法返回时,对象的方法被初始化.
例如,考虑该main()方法创建了一个对象并调用<init>它然后调用超类<init>.从返回后super(),该对象现在被视为初始化<init>,但尚未初始化main().这是否意味着,在<init>之后super(),我可以将对象作为参数传递给方法,甚至在返回main()之前.
有人可以证实这整个分析是真的吗?感谢您的时间.
ps:我实际上已经向Sun论坛发布了同样的问题但是回复了.我希望我能在这里有更多的运气.谢谢.
更新
首先感谢您的回答和时间.虽然我没有得到一个明确的答案(我有很多问题,其中一些有点模糊),但你的答案和例子,以及随后的实验,对于我更深入地了解JVM如何工作非常有用.
我发现的主要问题是Verifier的行为因不同的实现和版本而不同(这使得字节码操作的工作变得更加复杂).问题在于不符合JVMS,或者验证者的开发人员缺乏文档,或者JVMS在验证者的区域中有一些微妙的模糊性.
最后一件事,SO Rocks !!! 我在官方的Sun JVM规范论坛上发布了同样的问题,直到现在我仍然没有回答.
如何在同一页面上处理表单与使用单独的流程页面.现在注册,评论提交等我使用第二页验证数据,然后提交并路由回home.php.我怎样才能使它在提交时,页面本身验证而不是使用第二页.
好的,所以我目前通过以下方式在我的应用程序中实现了Facebook登录:
我使用官方FB框架登录用户.当我登录时,我收到一个身份验证令牌,它被发送到我的服务器.然后,我对用户进行另一次验证(例如,使用auth-token从Facebook获取"我"),然后返回32个字符随机密钥,用于在后续API调用(到我的服务器)中识别用户.一个例子.
我正在试图弄清楚如何用twitter做同样的事情,但我无法理解如何在iOS中获得誓言令牌?我有服务器端部分在另一个应用程序中工作,但没有令牌来验证...
请建议 - 这是(FB方式)我应该如何做到这一点,或者你将如何进行验证过程?
我有以下结构:
class Bar{
....
protected void restore(){
....
}
....
}
Run Code Online (Sandbox Code Playgroud)
该课程扩展Foo如下:
class Foo extends Bar{
....
@Override
public void restore(){ //valid override
super.restore();
....
}
}
Run Code Online (Sandbox Code Playgroud)
在我的jUnit测试中,我想测试一下,当foo.restore()调用时,super.restore()随后会调用它.因此,下面是我的jUnit测试方法:
class FooTest{
@Tested
Foo _foo;
@Test
void testRestore(final Bar bar){
new Expectations(){{
bar.restore(); times = 1; // Error! bar.restore() not visible
}};
Deencapsulation.invoke(_foo,"restore");
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,我的测试无法编译.原因是1)restore()父母protected和2)FooTest并且Foo在一个单独的项目(因此文件夹)中一起存在Bar.
反正有没有达到预期的测试?我已经检查了jMockit教程(过去几个月多次)并且没有看到类似的测试(在Google上进行搜索也是如此).
更新
在响应的帮助下,我理解强制执行子类调用super并不是最佳实践,但这不是我的实现,我仍然需要测试它.我仍在寻找一种方法来强制执行我的jUnit测试,以检查是否正在调用父项.
我正在尝试为IPN(paypal)验证设置一个回调处理程序.我知道curl会做什么,但我不知道'cacert.pem'是什么(证书......?).
这是callback.php文件失败的地方(存在):
curl_setopt($ch, CURLOPT_CAINFO, 'cacert.pem');
if( !($res = curl_exec($ch)) ) {
echo ("Got " . curl_error($ch) . " when processing IPN data");
curl_close($ch);
exit;
}
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)
出现以下错误消息:
设置证书验证位置时出错:CAfile:cacert.pem CApath:处理IPN数据时无
所以我下载了cacert.pem并复制到callback.php文件所在的目录.
这是上面代码之前的注释:
// In wamp like environments that do not come bundled with root authority certificates,
// please download 'cacert.pem' from "http://curl.haxx.se/docs/caextract.html" and set the directory path
// of the certificate as shown below.
Run Code Online (Sandbox Code Playgroud)
我正在使用XAMPP,这会是问题吗?
最后这是直接来自开发者页面的整个php文件:https: //www.x.com/developers/PayPal/documentation-tools/code-sample/216623
<?php
// STEP 1: Read POST data
// reading posted data from …Run Code Online (Sandbox Code Playgroud) 我读过TDD和BDD差异以及TDD和BDD之间的主要区别是什么?.
这是(部分)答案:
BDD只是带有不同单词的TDD.如果你做正确的TDD,你就是在做BDD.不同之处在于 - 如果您至少相信Sapir-Whorf假设的弱势形式 - 不同的词语可以更容易地做到正确.
但我仍然无法理解为什么BDD专注于验证而TDD专注于验证.
有关BDD与TDD(以及验证和验证)的问题出现在测验问题中:
BDD和TDD之间的主要区别是什么?
- BDD侧重于验证,而TDD侧重于验证
- BDD侧重于验证,而TDD侧重于验证
- BDD在测试方法上独立优于TDD
- BDD通常使用比TDD更多的模拟和存根
这个问题的答案是(1).有人会详细阐述为什么"BDD专注于验证而TDD专注于验证"?
我通过password_hash哈希插入的密码.我使用password_verify验证它们.
但是,当我在我的数据库中插入哈希密码并尝试验证它时,两个输出总是彼此不同.
我的网页如下,
main_login.php(表格):
<?php include 'header.php';?>
<body>
<form role="form" method="post" action="login.php">
<div class="form-group">
<label for="usrname">Username:</label>
<input type="text" class="form-control" name="usrname" placeholder="Enter username">
</div>
<div class="form-group">
<label for="passwrd">Password:</label>
</div>
<input type="password" class="form-control" name="passwrd" placeholder="Enter password">
<br>
<input type="checkbox">Remember Me
<br>
<br>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
login.php(handler):
<?php
include 'vars.php';
include 'header.php';
$sql="SELECT * FROM members WHERE usrname='$usrname'";
$result=mysqli_query($con,$sql);
$count=mysqli_num_rows($result);
$row=mysqli_fetch_row($result);
$verify=password_verify($hash,$row[2]);
if($verify){
$_SESSION["usrname"]=$usrname;
echo "Correct";
}
else {
echo "user: " . $usrname. "<br>";
echo "pass: " . …Run Code Online (Sandbox Code Playgroud) 我有一个生成TypeScript类的代码,作为构建/测试步骤,我想检查生成的文件的语法正确性。
我看过TypeScript编译器选项,但没有看到这样的选项。
我正在寻找可以从Maven运行的工具,因此理想情况下是Maven插件或命令行工具。
我不希望进行完整的编译,因为在该构建步骤中无法达到所引用的类型(它们位于另一个模块中,稍后将生成的源添加到该模块中)。
我正在Slack上实现交互式消息,它包含一些动作按钮.使用Slack App我能够处理Slack用户点击我的Java Springboot API上的按钮.
到目前为止,一切都很好.但是,我很难计算匹配请求签名(摘要)以验证它实际来自Slack.我在Slack验证文档页面上阅读了有关该文档的所有文档.
该页面描述了签名必须作为HMAC SHA256哈希计算,使用签名密钥作为密钥,内容作为松弛版本,时间戳和请求体的串联,例如:
v0:123456789:command=/weather&text=94070
Run Code Online (Sandbox Code Playgroud)
在页面上说明:
...在计算签名时仅评估原始HTTP请求正文.
...所以我没有在哈希计算之前编码/反序列化请求(我已经从Slack下面收到了我收到的请求)
要计算哈希,我使用StackOverflow上的代码:
private String computeMessageDigest(String content) {
final String ALGORITHM = "HmacSHA256";
final String UTF_8 = "UTF-8";
try {
Key signingKey = new SecretKeySpec(signingSecret.getBytes(UTF_8), ALGORITHM);
Mac mac = Mac.getInstance(ALGORITHM);
mac.init(signingKey);
return Hex.encodeHexString(mac.doFinal(content.getBytes(UTF_8)));
} catch (Exception e) {
throw new RuntimeException(e);
}
}
Run Code Online (Sandbox Code Playgroud)
我也尝试使用这个在线哈希生成器来比较结果,它们是相同的.
从Slack收到的请求如下:
{
"headers": {
"x-forwarded-for": ["::ffff:52.72.111.29"],
"x-forwarded-proto": ["https"],
"x-pagekite-port": ["443"],
"host": ["inqool.pagekite.me"],
"user-agent": ["Slackbot 1.0 (+https://api.slack.com/robots)"], …Run Code Online (Sandbox Code Playgroud) verification ×10
java ×3
php ×3
bdd ×1
bytecode ×1
c# ×1
certificate ×1
compilation ×1
credit-card ×1
hash ×1
ios ×1
iphone ×1
jmockit ×1
junit ×1
jvm ×1
object ×1
onsubmit ×1
paypal ×1
paypal-ipn ×1
process ×1
request ×1
signing ×1
slack ×1
syntax ×1
tdd ×1
twitter ×1
typescript ×1
validation ×1