Data Science, Machine Learning, Fullstack Web Developer.
- Read more about my Blog
- Talk with me by Email: [email protected]
✅ 简单易用的点触验证码 (前端+后端)
Home Page: http://yiyungent.github.io/SimCaptcha/
License: MIT License
Data Science, Machine Learning, Fullstack Web Developer.
System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
at System.Drawing.SafeNativeMethods.Gdip..cctor()
--- End of inner exception stack trace ---
at System.Drawing.SafeNativeMethods.Gdip.GdipLoadImageFromFile(String filename, IntPtr& image)
at System.Drawing.Image.FromFile(String filename, Boolean useEmbeddedColorManagement)
at System.Drawing.Image.FromFile(String filename)
at SimCaptcha.AspNetCore.AspNetCoreVCodeImage.Create(String code, Int32 width, Int32 height) in /src/src/SimCaptcha.AspNetCore/AspNetCoreVCodeImage.cs:line 54
at SimCaptcha.SimCaptchaService.CreateVCodeImg() in /src/src/SimCaptcha/SimCaptchaService.cs:line 484
at SimCaptcha.SimCaptchaService.VCode() in /src/src/SimCaptcha/SimCaptchaService.cs:line 408
文件位置:
src/SimCaptcha.AspNetCore/AspNetCoreVCodeImage.cs:line 54
var imageStream = Image.FromFile(randomImgFile);
当第一次通过验证后, 第二次点击弹出验证码层时会浮现上次通过验证提示
为防止ngix反向代理,验证服务有做域名校验吗?
SimCaptcha/examples/ASPNETCoreClient/wwwroot/js/SimCaptcha.js
Lines 222 to 253 in 21b19c3
当前使用event.offsetX, 不支持Firefox
参考: https://www.cnblogs.com/jiangxiaobo/p/6593584.html
SimCaptcha/src/SimCaptcha/SimCaptchaService.cs
Lines 63 to 81 in 32aac38
经加密再解密后的jsonStr,虽然看起来一样,但发生了一点改变, 导致无法转换
// '0x00' is invalid after a single JSON value. Expected end of data. LineNumber: 0 | BytePositionInLine: 110.
System.Net.WebException: Cannot assign requested address
System.Net.WebException: Cannot assign requested address Cannot assign requested address
---> System.Net.Http.HttpRequestException: Cannot assign requested address
---> System.Net.Sockets.SocketException (99): Cannot assign requested address
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean allowHttp2, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.DiagnosticsHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
at System.Net.HttpWebRequest.SendRequest()
at System.Net.HttpWebRequest.GetResponse()
--- End of inner exception stack trace ---
at SimCaptcha.Common.HttpAide.HttpPost(String url, String postDataStr, StringBuilder responseHeadersSb, String[] headers, WebProxy proxy) in /src/src/SimCaptcha/Common/HttpAide.cs:line 184
at SimCaptcha.SimCaptchaClient.Verify(String ticket, String userId, String userIp) in /src/src/SimCaptcha/SimCaptchaClient.cs:line 84
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.