首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SQL注入和XSS攻击

    SQL注入: 所谓SQL注入,就是通过把SQL命令插入到提交的Web表单或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,导致数据库中的信息泄露或者更改。 防范: 1.永远不要信任用户的输入,将用户输入的数据当做一个参数处理: 使用参数化的形式,也就是将用户输入的东西以一个参数的形式执行,而不是将用户的输入直接嵌入到SQL语句中,用户输入就被限于一个参数。 2.避免提示详细的错误信息: 当用户输入错误的时候,避免提示一些详细的错误信息,因为黑客们可以利用这些消息,使用一种标准的输入确认机制来验证所有的输入数据的长度、类型、语句、企业规则等。 3. 加密处理: 将用户登录名称、密码等数据加密保存。加密用户输入的数据,然后再将它与数据库中保存的数据比较,这相当于对用户输入的数据进行了“消毒”处理,用户输入的数据不再对数据库有任何特殊的意义,从而也就防止了攻击者注入SQL命令。 4.确保数据库安全: 锁定你的数据库的安全,只给访问数据库的web应用功能所需的最低的权限,撤销不必要的公共许可,如果web应用不需要访问某些表,那么确认它没有访问这些表的权限。如果web应用只需要只读的权限,那么就禁止它对此表的 drop 、insert、update、delete 的权限,并确保数据库打了最新补丁。

    02

    关于在服务器上发布网站遇到的两个问题之解决方案

    背景:使用SSM框架+MySql编写的网站,在windows平台上发布。 在自己服务器以及本地发布都正常,交付客户是,在他的阿里云服务器上部署出现以下两个问题: 1.安装Java和Tomcat之后,打包放入网站,启动Tomcat服务器,正常,没有任何异常,但是通过IP地址,或者Localhost访问网站,页面数据能正常显示,但是所有的css,js,图片等静态资源全部都不能加载,network显示500异常。 2.程序某些表中的文件查询没有结果,但是控制台输出的sql语句直接粘贴在图形化软件中,能查询出数据。注:只是某些表查不出来数据。 解决方案: 1.从防火墙,到网络限制,等等都考虑了,无果,最后从网上看到原因是Jdk1.8不支持Spring3.x,无奈将1.8删除,安装1.7,然后正常了,接下来出现了2的问题。 2.删除数据库,重新导入数据文件,远程粘贴数据表,等等,也是尝试N多方案,最后想起来我新建数据库的时候没有选择字符编码,当时考虑会使用默认的编码方式(因为我安装数据库的时候都选择默认编码方式utf-8,有的mysql版本支持选择,有的不支持。),谁知道这个数据库别人没有选择,所以我又将数据库编码方式修改为utf-8,如下图

    02

    在 C#和ASP.NET Core中创建 gRPC 客户端和服务器

    gRPC 是一种可以跨语言运行的现代高性能远程过程调用 (RPC) 框架。gRPC 实际上已经成为 RPC 框架的行业标准,Google 内外的组织都在使用它来从微服务到计算的“最后一英里”(移动、网络和物联网)的强大用例。 gRPC是一个高性能的开源的通用RPC框架,由Google公司开发,支持常用的C++、Java、Python、C#/.Net、Go、Node、Dart、Kotlin、Object-C、PHP、Ruby等语言,采用protobuf作为数据交换格式,并且采用C++开发,支持Windows 、Linux、macOS跨平台开发。对于跨语言服务调用非常方便,只要使用protobuf定义接口协议,然后按照gRPC语言SDK调用即可。比如我们使用C++对环保数采仪器设备通过串口或者网口传送的数据协议如Modbus协议、HJ212协议、或者厂商自定义的协议进行解析之后,将数据存放到本地数据库,这个时候我们如何将C++的数据传给前端网页呢? 这个时候可以使用多种方式。比如通过数据库、HTTP协议、WebSocket协议、RPC远程过程调用等方式。 我之前做环保的时候,采用C++和环保硬件设备打交道,通过C++后台程序将数采仪数据解析之后存入到本地Sqlite数据库中(分表分页存储),然后由于展示的网页比较简单,只是用网页展示当前站点的数据,前端采用ElementUI和Vue.js,后端采用Node.js。另外,C++后台写了一套RPC服务端接口,Node.js通过RPC客户端调用C++的后台RPC服务,双方之间通过Google Protobuf数据协议交互。

    00
    领券