小编Dav*_*vid的帖子

使用jQuery中止JSONP ajax请求

我正在使用JSONP ajax调用来加载来自不同域的一些内容,如果用户在按钮上导致"鼠标悬停",则执行所有这些操作.

我可以将$ .ajax()调用返回捕获为xhr对象,并在每次用户导致"鼠标悬停"时使用它来中止ajax请求.但是JSONP回调函数仍然被调用,这会导致错误,我认为这是因为xhr.abort()方法不会阻止调用回调函数.

我尝试使用try {} catch(e){}围绕$ .ajax()调用,但在调用xhr.abort()方法后,错误仍在继续.

有没有办法处理该异常?

引发的异常是这样的(根据Firebug): jQuery16102234208755205157_1308941669256不是函数

而异常的内部结构是这样的: jQuery16102234208755205157_1308941669256({...来自不同域的我的json数据....})

ajax jquery jsonp callback abort

16
推荐指数
2
解决办法
7400
查看次数

Java 7u65的问题

昨晚发布了一个新的Java 7更新:7u65.我有一个Web应用程序,其中加载了一个服务小程序,并且在更新之后,我在不同PC上的测试没有显示问题也没有错误的行为.

后来,我开始收到与我的产品的Java服务小程序相关的问题报告.所有报告都来自将Java JRE更新为7u65(从7u60开始)的用户:

  • 小程序根本没有加载.应用程序启动时显示"正在加载"屏幕,但未显示.此外,我的Java小程序提供的所有服务都不可用.
  • 更改Java控制面板的高级配置以始终显示控制台(在发生此问题的PC之一)后,我发现applet甚至没有启动Java控制台.
  • 使用发生错误的同一站点,尝试访问java.com以检查当前的Java版本,加载Java applet并显示控制台而不会出现错误.

所有测试都是在清除浏览器和Java缓存之后执行的,甚至在删除已安装的证书之后(我的是有效的签名小程序).

我检查了Java 7u65发行说明,并且所提到的任何更改似乎都不会影响我的applet.此外,使用Java 7u60时没有任何问题.

我没有任何关于发生了什么的线索,也许是因为java更新是在几小时前发布的.由于即使我配置Java控制面板也无法显示Java控制台,我无法判断是否有任何异常.我无法在我的电脑中重现这个问题(Windows 8,也不是Windows 7,都是64位),但是在Windows 7 PC上已经报道了这个问题.

我的一位朋友告诉我,这似乎发生在使用Java 7u60的机器上,然后在没有卸载的情况下更新到Java 7u65.此外,这往往发生在较旧的操作系统(即:WinXP)中,这更自然.

我写这个问题是因为有些PC有这个问题似乎很奇怪,有些则没有.我想知道是否有其他人有这个问题,知道可能是什么原因,或者已经发现/应用任何解决方案.此外,如果我碰巧找到它,我想分享解决方案.

谢谢.


编辑:

外部引用,与同一Java版本(JRE)相关.

java applet signed-applet

13
推荐指数
3
解决办法
7664
查看次数

无法使用JRE 7u51在Internet Explorer 11中运行Java Applet

今天我将Java版本更新为7u51.安装完成后,我清除了Java Cache,浏览器的Cache,并登录到一个安全的网站,该网站使用Applet为用户提供某些附加服务.

小程序不再工作了.我访问了http://www.java.com来检查在Internet Explorer中检测到的Java版本,并且java网站说:

We are unable to verify if Java is currently installed and enabled in your browser.
Run Code Online (Sandbox Code Playgroud)

Internet Explorer 11和JRE 7u51无法验证Java版本

其他浏览器可以检查Java,并且提到的applet按预期工作:

谷歌Chrome和Firefox可以在更新到7u51后验证Java

由于applet在其他浏览器中按预期工作,我可以假设问题不是Applet及其部署文件/进程,而是JRE 7u51与IE 11的兼容性.我想知道是否有任何解决方法.

作为额外措施,我使用java.com工具卸载任何以前和不安全的JRE版本(使用谷歌浏览器).在仔细检查IE 11之后,我可以看到Java Addons已启用并版本化为7u51:

IE 11 Java插件已启用并且是最新的

我知道IE已经得到了改进; 即便如此,我们建议客户使用谷歌浏览器或Firefox,因为这些浏览器已证明与我们的网络应用程序更兼容.不幸的是,由于对程序使用等的共同组织限制,我们无法强迫客户使用某些浏览器.

在此先感谢您的帮助.


更新(2014年1月20日):

以下屏幕截图显示了为"java.com"配置了兼容性视图的Internet Explorer 11.在这种情况下,它无法解决问题.

带兼容性视图的IE11无法解决问题

c# java jnlp applet internet-explorer

11
推荐指数
1
解决办法
22万
查看次数

如何使用PHP将数字签名(RSA,证书等)添加到任何文件?

我需要知道是否可以使用RSA,证书和那些东西进行数字签名,或者是否只能签署某种文件.所有这些,使用PHP.

例如:纯文本文件可以用数字签名吗?图像怎么样(png,jpeg,bmp)?

我不需要"附加"带有图形签名的图像.

谢谢您的帮助.

php rsa file digital-signature

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

如何解决"证书无效且无法用于验证本网站的身份"错误?

问题是,如何解决"证书无效且无法用于验证本网站的身份"错误?.

以下是详细信息:

我有一个已经正常工作的签名小程序,直到我将Java更新为8u25(1.8.0_25-b18).现在,应用程序显示一条警告消息"您要继续吗?与此网站的连接不受信任".此消息中也有一个注释," The certificate is not valid and cannot be used to verify the identity of this website".

小程序加载没有问题.但是,当用户尝试使用该应用程序的特定功能时,将显示警告消息.

发生这种情况时我检查了java控制台,并在这些行后面显示此警告消息:

security: Obtain certificate collection in SSL Root CA certificate store
security: Invalid certificate from HTTPS server
network: Cache entry not found [url: https://sub.domain.net:9876, version: null]
Run Code Online (Sandbox Code Playgroud)

该应用程序从另一个域下载,例如" https://app.domain.net/ .....",因此不会从" https://sub.domain.net:9876 " 下载任何jar ,但是applet连接到" https://sub.domain.net:9876 "以发送/接收数据.

applet已正确签名,到目前为止,它符合Java的所有安全要求.当应用程序尝试在内部使用HTTPS URL进行连接时,似乎会发生此问题https://sub.domain.net:9876.该网站的SSL证书有效,由GoDaddy发布,但尚未过期.

再次,这在将我的JRE更新为8u25后开始发生.我已经测试过将有问题的URL添加到Java安全例外列表中,但没有成功.

以下是此问题的一些屏幕截图:

这是显示的警告消息: 警告信息 有关警告消息的详细信息 证书基本信息1 证书基本信息2


编辑2014年10月18日:

问题也发布在"Oracle社区"中,以增加答案选项: Oracle社区中的问题.


编辑2014年10月21日:

我注意到了这一点:当我点击"安全警告"对话框中显示的"更多信息"链接时,显示的原因显示:

正在从安全证书指定的站点以外的站点下载该应用程序.

  • 从"sub.domain.net"下载

  • 期待"*.DOMAIN.NET"

此消息表示应用程序正在从"sub.domain.com"下载,这是错误的.应用程序(applet)已经下载,它只在内部HTTPS请求中使用该域,以获取/发送业务数据,而不是下载其他Jars,JNLP等.

java security ssl applet ssl-certificate

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

我无法使用try .... catch来捕获php异常

我遇到了PHP Exceptions的问题.即使我尝试执行此代码:

try {
    $some->knownMethodWithError();
} catch(Zend_Exception $exp){
    echo 'Error!: ' . $exp->getMessage();
}
Run Code Online (Sandbox Code Playgroud)

我的apache/php服务网页总是显示500错误.我的意思是,

echo 'Error!: ' . $exp->getMessage();
Run Code Online (Sandbox Code Playgroud)

从未被执行过.我已经测试了重定向而不是回声,但它不起作用.是否有一些导致此行为的php.ini指令,或者它可能是其他什么?

这发生在我基于Zend Framework的项目中.

php zend-framework exception

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

签名小程序中的安全警告

我工作的公司有一个小程序,需要特殊访问客户机,所以每个Jar文件都是以数字方式签名的.applet和公司的Web应用程序使用javascript进行交互.

问题是第一次通过javascript使用applet时,Java会抛出一个Warnign Security弹出窗口,要求用户"允许"或"不允许"从网站访问applet.

我检查过Oracle的指南,对applet和Manifest参数进行数字签名,但是我无法删除安全警告.此外,每次我们测试应用程序时,我们都会通过Java控制面板清除浏览器的缓存和Java缓存.我们在Windows 7和8下工作.

以下是主applet jar中Manifest文件的示例:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.1
Trusted-Library: true
Application-Library-Allowable-Codebase: one.developdomain.net two.developdomain.net *.developdomain.net productiondomain1.net productiondomain2.net productiondomain3.net
Trusted-Only: false
Built-By: My Name
Application-Name: My Application Name
Permissions: all-permissions
Created-By: 1.7.0_45-b18 (Oracle Corporation)
Caller-Allowable-Codebase: one.developdomain.net two.developdomain.net *.developdomain.net productiondomain1.net productiondomain2.net productiondomain3.net
Codebase: one.developdomain.net two.developdomain.net *.developdomain.net productiondomain1.net productiondomain2.net productiondomain3.net

Name: services/xmpp/ChatPanel$4.class
SHA1-Digest: 7On19s6cztysSsrtARTlT5g1R8U=
....
Run Code Online (Sandbox Code Playgroud)

以下是用于部署applet的JNLP文件示例:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" href="launch-1.3.4.jnlp">
    <information>
        <title>Application Title</title>
        <vendor>Our Company</vendor>
        <homepage href="http://www.ourdomain.net" />
    </information>
    <security>
        <all-permissions/>
    </security>
    <update check="always" policy="always" />
    <resources …
Run Code Online (Sandbox Code Playgroud)

java security applet security-warning signed-applet

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

简单迁移后 Laravel 测试失败

我正在使用 Laravel 创建一个项目,今天我遇到了一个问题,我找不到如何以“正确”的方式解决。

我有这个迁移类:

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class AddCityAndCountryColumnToClient extends Migration {
    public function up() {
        Schema::table('clients', function (Blueprint $table) {
            $table->string('city')->nullable()->default(null);
            $table->string('country', 2)->nullable()->default(null);
        });
    }

    public function down() {
        Schema::table('clients', function (Blueprint $table) {
            $table->dropColumn('country');
            $table->dropColumn('city');
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

我有一堆基于该表“客户端”模型的测试,它们运行得非常好,但是在我添加了这个迁移之后,我的测试每次从一开始就失败了。

现在,我发现如果我将该迁移类修改为:

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class AddCityAndCountryColumnToClient extends Migration {
    public function up() {
        Schema::table('clients', function (Blueprint $table) {
            $table->string('city')->nullable()->default(null);
            $table->string('country', 2)->nullable()->default(null);
        });
    }

    public function down() {
        Schema::table('clients', function (Blueprint $table) {
            // $table->dropColumn('country');
            // …
Run Code Online (Sandbox Code Playgroud)

php migration sqlite phpunit laravel-5.2

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