未找到

未发布 GIS软件开发工具包TatukGIS Developer Kernel更新至 v11.4.0-Unstable4
by Harriet666 keys 分享 1494493928347
GIS定制开发首选控件,帮您轻松搞定高效、优质、实惠的GIS解决方案

TatukGIS Developer Kernel(DK)是一个用于开发自定义地理信息系统(GIS)应用程序以及解决方案的综合性软件开发工具包(SDK)。众所周知,构建一个庞大的地理信息系统需要花费大量的金钱和人力,而TatukGIS却是同类产品中性价比最高的控件,TatukGIS Developer Kernel DK因其功能强大,价格适中,已被超过 50个国家的个人、公司、以及政府等客户用来实现其地理信息系统解决方案。根据不同地首选开发环境,本产品分别以五个独立产品的形式提供(即VCL、.NET/WPF、ActiveX、Compact Framework和ASP.NET),各个产品使用相同的框架、应用程序编程接口(API)技术。
 
Version: 11.4.0-Unstable4

新功能:

  • [DK-9224]通过将最小值最大值映射到0..255(Core),以便更好地显示16位像素数据。
  • [DK-9137]实现Params.Pixel.RedMapZones、GrenMapsZones等,允许高于255并正确映射16位图像(Core)。

修复:

  • [DK-9220] TGIS_ControlLegendForm - 使用“应用”按钮两次会覆盖最后一节参数(DK,NDK)。
  • [DK-9211] TGIS_LayerPixel.Locate - 没有正确设置_nativesVals为64位(4波段)图像(Core)。
未发布 SSLRobot:适用于HttpWatch的免费SSL / TLS测试工具
by Harriet666 keys 分享 1491983448478
HttpWatch显示了用于HTTPS请求的SSL连接的摘要:
HttpWatch
虽然此信息非常有用,但有客户已经在询问有关证书、协议版本以及服务器配置等其他方面的更多详细信息。一些在线的SSL工具可以做到这一点,但测试通常很慢,不能用于调查本地网络或测试环境中的服务器。
为了解决这些问题,HttpWatch开发了SSLRobot - 一种基于桌面(Mac和PC)的SSL扫描工具,可快速检查安全服务器:
HttpWatch
该工具可以突出显示可能会危及安全Web服务器安全性的配置问题:
HttpWatch
此工具已经集成到HttpWatch(1.0.56+版本)中,你可以从SSL选项卡或URL上下文菜单开始检查:
HttpWatch
如果你拥有当前版本的HttpWatch Professional许可证,你可以访问此页面申请SSLRobot的免费许可证密钥。

 
HttpWatch简介
HttpWatch是一款集成的HTTP嗅探器,为IE和Firefox提供新的方法以查看你网站的负载和运行情况。你直接在浏览器中调试由web页面生成的网络流量,而无需切换到一个单独的工具。
未发布 安全预警:Xshell 5.0 Build 1322官方版本被植入后门,请尽快更新至最新版本
by Harriet666 keys 分享 1502703358521
知名服务器终端管理软件Xshell在7月18日发布的5.0 Build 1322官方版本被植入后门,用户下载、更新到该版本均会中招。危害正在评估中,或可能窃取用户设备信息。
 
Xshell是一款功能强大的服务器终端管理软件,支持SSH1、SSH2、TELNET等协议,由国外公司NetSarang开发,在运维、站长、安全等圈子里有极多受众。
 
NetSarang公司在8月7日发布安全公告,称其最近更新(7月18日)的Xmanager Enterprise、Xmanager、Xshell、Xftp、Xlpd五款软件存在安全漏洞,官方已于8月5日紧急修复,并发布更新版本。目前暂未发现有人利用过漏洞。
 
五款软件的受影响版本:
Xmanager Enterprise 5.0 Build 1232
Xmanager 5.0 Build 1045
Xshell 5.0 Build 1322
Xftp 5.0 Build 1218
Xlpd 5.0 Build 1220
 
8月5日五款软件发布新版本,更新日志基本一致,都提到修复SSH通道的追踪消息和问题文件nssock2.dll:
FIX: Unnecessary SSH channel trace messages
FIX: Patched an exploit related to nssock2.dll
 
NetSarang公司没有解释漏洞的成因,据了解,很可能是该公司遭遇了入侵,发布版本被植入后门。有国内用户更新到Xshell问题版本,抓包发现该版本的nssock2.dll会向陌生域名(*.nylalobghyhirgh.com)发送畸形DNS请求。问题版本的nssock2.dll带有官方签名,可能是攻击者窃取了NetSarang的签名,或者直接在源码层面进行了植入。


修复方案

NetSarang公司已经发布修复版本,建议该公司产品用户请尽快更新至最新版本,企业网络可将*.nylalobghyhirgh.com域名进行屏蔽。

目前五款软件的最新版本:
Xmanager Enterprise 5 Build 1236下载
Xmanager 5 Build 1049下载
Xshell 5 Build 1326下载
Xftp 5 Build 1222下载
Xlpd 5 Build 1224下载
未发布 【示例教程】使用leadtools的WCF接口功能实现从web端上传Dicom影像文件
by Harriet666 keys 分享 1517903663716
Leadtools 19总套包下载>>>
 
leadtools为web端提供了wcf接口来供用户可以登录pacs系统,检索,查看以及上传影像。本篇博客讲解如何创建一个网页来实现上传功能,通过WCF进行dicom文件的上传时,是将dicom文件转换为base64数据流,分段进行传输。
 
本篇博客运行的前提是已经部署完成Leadtools HTML5 Web Viewer,可以正常浏览。参考https://www.evget.com/article/2018/2/6/27757.html
 
在部署完成后,将下面的代码复制到一个HTML文件中,即可运行进行测试。另外需要添加html文件所需的jquery.min.js到同文件夹路径下。
<head>
    <meta charset="UTF-8">
head>

<form onsubmit="return false;">
    <input type="hidden" name="file_base64" id="file_base64">
    <input type="file" id="fileup" multiple="multiple">
    <input type="submit" value="submit" onclick="$.post('./uploader.php', $(this).parent().serialize());">
    <div>
        <div id="msg">div>
    div>
form>
<script src="scripts/jquery.min.js">script>
<script>

    $(document).ready(function () {
        authcookie = login();
        document.cookie = "authcookie=" + authcookie;
        $("#fileup").change(function () {
            getauthcookie("authcookie");
            filelist = this.files;
            file = filelist[fileindex];
            upload(file);
        });
    });
    var authcookie;//保存authcookie
    var filelist;//上传文件列表
    var file;//当前上传文件
    var tempfile = "";//临时文件名称
    var position = 0;
    var size = 40000;//分段大小
    var done = false;
    var fileindex=0;//当前上传文件序列号

    function upload(tempfile) {
        if(position==0)
            done=false;
        var reader = new FileReader();
        if (file.size > position + 40000)
            reader.readAsArrayBuffer(file.slice(position, position + 40000));
        else 
            reader.readAsArrayBuffer(file.slice(position, file.size));
        reader.onload = function (e) {
            if (e.target.readyState === 2) {
                var base64string = base64ArrayBuffer(e.target.result);
                var data = {
                    authenticationCookie: authcookie,
                    dicomData: base64string,
                    fileName: tempfile,
                    status: position==0?"start":"append"
                };
                tempfile = senddata(JSON.stringify(data));
                if (!done) {
                    position += 40000;
                    upload(tempfile);
                    if (position+40000>file.size)
                        done = true;
                }
                else {
                    var data = {
                        authenticationCookie: authcookie,
                        dicomData: "",
                        fileName: tempfile,
                        status: "done"
                    };
                    tempfile = senddata(JSON.stringify(data));
                    position = 0;
                    $("#msg").html($("#msg").html()+"第"+(fileindex+1)+"个文件已经上传完成

"); fileindex += 1; if (fileindex < filelist.length) { file = filelist[fileindex]; upload(tempfile); } else { fileindex = 0; $("#msg").html($("#msg").html() + "文件全部已经上传完成

"); } } } }; } function senddata(data) { var result; $.ajax({ type:"post", url: "http://localhost/MedicalViewerService19/StoreService.svc/UploadDicomImage", data: data, contentType: "application/json", dataType: "json", success: function(data){result= data}, async: false }); return result; } function login() { var auth; var logininfo = { userName: "a", password: "a", userData: "" }; $.ajax({ type: "post", url: "http://localhost/MedicalViewerService19/AuthenticationService.svc/AuthenticateUser", data: JSON.stringify(logininfo), contentType: "application/json", dataType: "text", success: function (data) { auth= data }, async: false }); return auth; } function query() { } function getauthcookie() { document.cookie.split(";").forEach(function (val, index) { var index = val.indexOf("="); if ($.trim(val.substring(0, index)) == "authcookie") { authcookie = $.trim(val.substring(index + 1, val.length)); } }); return ""; } function base64ArrayBuffer(arrayBuffer) { var base64 = ''; var encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; var bytes = new Uint8Array(arrayBuffer); var byteLength = bytes.byteLength; var byteRemainder = byteLength % 3; var mainLength = byteLength - byteRemainder; var a, b, c, d; var chunk; // Main loop deals with bytes in chunks of 3 for (var i = 0; i < mainLength; i = i + 3) { // Combine the three bytes into a single integer chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2]; // Use bitmasks to extract 6-bit segments from the triplet a = (chunk & 16515072) >> 18; // 16515072 = (2^6 - 1) << 18 b = (chunk & 258048) >> 12; // 258048 = (2^6 - 1) << 12 c = (chunk & 4032) >> 6; // 4032 = (2^6 - 1) << 6 d = chunk & 63; // 63 = 2^6 - 1 // Convert the raw binary segments to the appropriate ASCII encoding base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d]; } // Deal with the remaining bytes and padding if (byteRemainder == 1) { chunk = bytes[mainLength] a = (chunk & 252) >> 2; // 252 = (2^6 - 1) << 2 // Set the 4 least significant bits to zero b = (chunk & 3) << 4; // 3 = 2^2 - 1 base64 += encodings[a] + encodings[b] + '=='; } else if (byteRemainder == 2) { chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1]; a = (chunk & 64512) >> 10; // 64512 = (2^6 - 1) << 10 b = (chunk & 1008) >> 4; // 1008 = (2^6 - 1) << 4 // Set the 2 least significant bits to zero c = (chunk & 15) << 2 // 15 = 2^4 - 1 base64 += encodings[a] + encodings[b] + encodings[c] + '='; } return base64; } script>

6

未发布 【示例教程】如何使用LEADTOOLS 的JAVA接口从护照中识别和提取数据
by Harriet666 keys 分享 1510647780810
LEADTOOLS可帮您开发出功能强大的文档图像应用程序。其主要功能包括综合图像注释,专业的黑白图像显示(例如灰度级和偏黑),以及专业的黑白图像处理。其它功能包括对黑白图像的性能和内存进行优化,文档图像清理(包括倒置文本,去边界,去打孔机和去线)以及使用LEADTOOLS Fast TWAIN和WIA进行扫描。
 
本教程会发布一个java代码片段,你可以用它读一本护照提取其中的数据。记住,为了获得最精确的结果,你需要有一个清晰的图像,这样引擎在这个过程中才能获得精确的结果。
// Set your license
RasterSupport.setLicense(licenseFile, developerKey);

try{
    if(RasterSupport.getKernelExpired()) {
    System.out.println("License NOT Set Successfully");
    }
    else {
    System.out.println("License Set Successfully");
    }

RasterCodecs rasterCodecs = new RasterCodecs();
MRTDReader mrtdReader = new MRTDReader();
String stream = "PASSPORT_IMAGE.jpg";

RasterImage rasterImage = rasterCodecs.load(stream);

OcrEngine ocrEngine = OcrEngineManager.createEngine(OcrEngineType.ADVANTAGE);
ocrEngine.startup(rasterCodecs, null, null, null);

        
mrtdReader.setOcrEngine(ocrEngine);
mrtdReader.processImage(rasterImage);        
mrtdReader.setImproveResults(true);
HashMap ar = new HashMap<>();
ar = mrtdReader.getResults();

String[] string = mrtdReader.getLines();
        
for (String string2 : string) {
    System.out.println(string2);
}
                
for (Map.Entry map : ar.entrySet()) {
MRTDField key = map.getKey();
System.out.println(key);
MRTDDataElement value = map.getValue();
System.out.println(value.getReadableValue());
}
        
ocrEngine.shutdown();
}
catch(Exception e)
{
    e.printStackTrace();
    throw new Exception(e);
}
被识别的护照如下:
 
最终输出的结果如下:

2017慧都十四周年狂欢搞事情!砸金蛋100%抽现金红包、满额豪送iPhone X、iPhone 8、DevExpress汉化免费送、团队升级培训套包劲省10万元......更多惊喜等您来探索!

未发布 矢量图形引擎库VectorDraw Developer Framework v7.7011.0.1发布
by Harriet666 keys 分享 1490841123648

VectorDraw Developer Framework

VectorDraw Developer Framework(VDF)是一款构建2D、3D图形并用于应用程序可视化的矢量图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。

VectorDraw Developer Framework(VDF)更新至v7.7011.0.1,新版本针对提出的需求和bug做了调整和优化。

VectorDraw Developer Framework点击下载>>>

WebJS

新增需求

版本需求

7.7011.0.1    

70001006 支持webgl渲染模式的webgl图像
70001016 支持webgl节剪辑
70001019 支持使用scriptCommand hatch绘制阴影边框                                  
70001024 使用鼠标进行缩放
70001029 实体选择回调

Converter

新增需求

版本需求
7.7011.0.1    70001015 具有相同名称的vdXproperties导出不正确                                      

漏洞

版本漏洞
7.7011.0.1    70001009 DXF代理对象读取出错
70001020 某些DWF文件未正确打开   
70001025 DGN Xrefs的问题
70001033 Layout paper未正确初始化                                                               

vdDXF

漏洞

版本漏洞
7.7011.0.1    70001011 HANDLE类型的XProperty在DXF中未正确导出                              

Engine

新增需求

版本需求
7.7011.0.1    70001008 改进ClearEraseItems方法的速度
70001012 MergeSelection方法用于传递对象的GUIDs                                     
70001027 虚拟机中的OpenGL问题
70001034 能够设置UCS图标字母的颜色

漏洞

版本漏洞
7.7011.0.1    70001007 当文本具有斜角时,EditText和AddText命令不会正确显示光标           
70001010 点上的多点折线未正确显示
70001013 Inserts Inside Blocks层是处于ON状态时仍不可见
70001014 图层组和滤镜在删除后仍会保存到DXF中
70001017 图像在nonused Block中使用时会被删除
70001018 线型折线显示不正确
70001021 RenderToGraphics和RenderToDC会清除目标图形上下文的背景
70001022 尺寸对象未正确导入PDF
70001026 在vdraw Idle中很少会随机出现exeption
70001030 Bhatch命令为创建的polyhatch添加白色作为fillcolor
70001031 用户选择部分文字的拉伸命令会出现错误
70001032 vdMtext对象没有对齐

 【本文作者慧都Elyn

未发布 矢量图形引擎库VectorDraw Developer Framework 更新至v7.7011.0.4
by Harriet666 keys 分享 1494227369959

VectorDraw Developer Framework

VectorDraw Developer Framework(VDF)是一款构建2D、3D图形并用于应用程序可视化的矢量图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。

VectorDraw Developer Framework点击下载>>>

VectorDraw Developer Framework(VDF)v7.7011.0.4更新内容点击查看>>>


未发布 2017年移动开发中优秀的10大框架
by Harriet666 keys 分享 1488161905996
框架被视为复杂的软件开发环境。它们包括许多子组件,其主要工作是帮助您创建应用程序。框架提供了许多工具集、调试器、编译器、不同的代码库,应用程序编程接口和其他组件。它们都是为了让应用程序开发人员工作变得更加容易。框架是APP开发的基础,它们可以使整个开发过程变得更简单、更令人兴奋。没有框架,开发人员将从头开始编写他们想要开发的每个应用程序。这将涉及大量的编码来让应用程序可以在不同的平台上工作。这里将列举出最好的框架来让你的开发更简单和更容易。

点击查看十大框架具体信息>>>

未发布 GLG工具包Visualization and HMI Toolkit更新至v3.6,支持Java Script
by Harriet666 keys 分享 1490344507662

Visualization and HMI Toolkit的为开发高级图形的动态界面而设计的艺术化的框架:它不仅仅是简单的按键与菜单,它是全动态的能显示动态数据以及能反映用户互动的图片对象。它不仅仅是能制作“漂亮图片”绘制工具(它还具有很多其他功能),而是能使开发人员定义图片对象以及与程序中的对象互动的图形引擎。它的使用对象主要针对应用程序开发人员,能将乏味的低级别图片代码编译工作转化成高级的互动设计行为。

GLG工具包Visualization and HMI Toolkit更新至v3.6,点击下载>>>

支持Java Script:

对Java Script的增加的支持使得用户可以定义自定义函数,将多个输入值转换为驱动动画的输出值。通过可以添加到对象属性的新Java Script转换来使用Java Script。例如,一个新的“LED Value Display”部件可以通过使用Java Script转换来实现部件的逻辑。

转换的Java Script属性包含用于生成输出值的Java Script代码。转换的Arg List属性通过$ N符号提供脚本中使用的可变的参数,其中N是基于1的参数索引(即 $ 1是第一个参数)。参数可以是双(D)、字符串(S)或XYZ(G)类型。Java Script转换的输出值也可以是D、S或G类型,与其所附属性的类型相匹配。

例如,可以使用以下Java Script将D属性的值设置成以度为单位的第一个参数的sin函数:Math.sin ($ 1 / 180. * Math.PI)

下面的Java Script可用于根据第一个参数的值和由第二个、第三个参数定义的阈值来在“NORMAL” 和“ALARM”之间切换的文本字符串:$ 1 <$ 2 || $ 1> $ 3?“ALARM”:“NORMAL”

对于复杂的Java Script来说,可以通过Java Script文件提供Java Script函数和方法库。加载此文件时,可以在图形中使用该文件中定义的Java Script函数。

应用程序可以使用包含Java Script方法集合的全局Java脚本文件并在应用程序的图纸中使用。该文件将被预加载并用作Java Script库。Viewport的JavaScriptFile属性也可定义为该viewport预加载的Java Script文件。所有加载的Java脚本都是全局的,可以在应用程序的任何位置访问。从Java Script文件加载的函数将覆盖任何以前具有相同名称的Java Script函数。

GLGeditors和所有GLG API都支持Java Script:C / C ++、Java、C#和Windows上的ActiveX。C / C ++和ActiveX中的Java Script支持由Duktape JavaScript Engine提供,对于C#来说可以使用Jurassic JavaScript引擎(由Jurassic.dll提供)。在Java中可以使用Java的JavaScript引擎。

所有Java Scripts都在绘图设置时先行编译,以实现更快的运行。这些脚本也可以进行缓存。

GlgJavaScriptFile全局配置资源或GLG_JAVA_SCRIPT_FILE环境变量可用于指定全局Java Script文件。 对于GLG Builder和GLG HMI配置器,还可以通过-glg-java-script-file命令行选项或GLG配置文件中的GlgJavaScriptFile资源(即glg_config或glg_hmi_config)提供全局Java Script文件。

本文作者慧都Elyn,转载注明出处

未发布 2017年四大网络安全趋势
by Harriet666 keys 分享 1501573895591
网络攻击在2016年创下了纪录,在2017年网络环境将更加危险。以下是2017年网络安全的4个趋势。

不断变化的勒索软件

随着越来越多的数据存储在移动设备上,勒索软件在网络犯罪分子中非常受欢迎。这是一个有利可图的加密内容的漏洞,除非支付赎金,否则无法恢复。现在勒索软件越来越复杂,并且定位到任何设备。在夏季DEFCON会议上,Pen Test Partners的研究人员证明了攻击者如何控制互联网连接的恒温器并进行锁定,直到受害者接受赎金要求为止。
另一个新的趋势:网络犯罪分子目标通常是高管和其他有权力的人,他们更有可能为保护有价值的公司或个人信息而付款。

物联网IoT

数十亿新的物联网设备正在连接到企业网络。但考虑到很多不安全因素,大量使用只会增加黑客目标的数量。去年十月的Dyn攻击显示网络犯罪分子操纵物联网造成严重破坏是多么容易。特别令人不安的是,黑客将恶意软件部署到使用 IoT设备的机器人上进行DDoS攻击。他们还为模仿者创建了一个攻击模板。网络犯罪分子可以很容易地获取未来的源代码和其他攻击工具推出自己的僵尸网络。

移动安全威胁无处不在

大约4%的移动设备被恶意软件感染,而大约一半的移动设备受到暴露企业数据的高风险。员工仍然忽视公司协议,并将未经授权的移动应用程序下载到用于连接到企业网络的设备上。应用商店有时也会被流氓开发人员欺骗,他们创建恶意的开发环境,将恶意软件隐藏在表面上看起来安全的应用中。底线:随着越来越多的员工通过移动设备访问公司据,他们将注定要在2017年成为网络犯罪分子的更大目标。

政治黑客走向主流

国家定期进行cyberespionion,但国家赞助的网络攻击并不局限于工业间谍活动。“民主党全国大会”黑客提供了一个教科书的例子,说明团体如何代表国家赞助者采取行动,使用被盗的材料传播虚假信息,播种不和或传播宣传,以推动其政治目标。即使那些不直接参与政治的企业也需要更新威胁评估。威胁不再仅仅来自民族国家。安全从业人员还需要抵御各种使用网络攻击推动事业或推进议程的政治黑社会主义者所构成的威胁。

 近期热门 - 点击最多
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Node.js 打印vite react+go项目目录树
  3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

  全端社区 - 最新回复
  1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  2. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  3. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  4. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  5. Node.js 打印vite react+go项目目录树
  6. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  7. Windows与Mac通过git ssh和rsync实现文件共享互传
  8. Windows与Mac通过git ssh和scp实现文件共享互传
  9. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  10. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA