自适应网站建设需要注意什么,四川省住房和城乡建设厅官网电话,wap网站asp源码,网站必须做301重定向吗引言 相信大家都不想自己的代码被人拿出去做一些商业化的行为#xff0c;但是一时半会又没有一个有效的方法#xff0c;这里我提供一点思路。 常用的钩子程序植入方式
方式解释使用难度描述植入通知程序#xff08;直接植入#xff09;使用APi调用接口形式通知远程服务端程…引言 相信大家都不想自己的代码被人拿出去做一些商业化的行为但是一时半会又没有一个有效的方法这里我提供一点思路。 常用的钩子程序植入方式
方式解释使用难度描述植入通知程序直接植入使用APi调用接口形式通知远程服务端程序告知代码被部署了最简单直接在源码里源代码内植入通知程序 使用pom依赖使用APi调用接口形式通知远程服务端程序告知代码被部署了较难把通知程序再隐藏一层到jar层面源代码内植入通知程序 使用pom依赖基础上加密混淆源代码使用APi调用接口形式通知远程服务端程序告知代码被部署了最难这种一般在方式二的基础上写好钩子程序会请专业的安全团队来扫描确保无法发现可以发散一下思维-市场上有些开源源码为什么有个协议不可商用
钩子程序以maven项目为例子
第一步引入pom依赖 !-- httpclient --dependencygroupIdorg.apache.httpcomponents/groupIdartifactIdhttpclient/artifactIdversion4.3.5/version/dependency第二步编写通知程序 public static void authentication() {try {// 通知地址String url;String osName System.getProperty(os.name);//需要通知上传的数据自定义即可MapString, String map new HashMap();map.put(osName, osName);try (CloseableHttpClient client HttpClients.createDefault()) {HttpPost httpPost new HttpPost(url);httpPost.setHeader(Content-Type, application/json);httpPost.setEntity(new StringEntity(map.toString()));HttpResponse response client.execute(httpPost);HttpEntity entity response.getEntity();BufferedReader reader new BufferedReader(new InputStreamReader(entity.getContent()));String line;StringBuilder responseContent new StringBuilder();while ((line reader.readLine()) ! null) {responseContent.append(line);}}} catch (Exception ex) {}}钩子程序一般需要配合部署一个第三方监控程序用来接收通知并且报警通知指定人员这里不展开