码迷,mamicode.com
首页 > Web开发 > 详细

php+c实现网络版权验证

时间:2015-01-30 16:05:11      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:php   c语言   版权   验证   框架   

客户端(C):

/*
Copyright check frame 
written by Radish.ghost Jan.2015
*/
#include<stdio.h>
#include<windows.h>
#include <UrlMon.h>
#ifdef C
#define bool int //C hesn't bool type
#endif
#pragma comment(lib, "urlmon.lib")
#ifndef USETIMES
#define USETIMES 50 //How many times can use
#endif
char*getinf();//Get the disk information
bool check1();//Connect server
int check2();//Check the file
int main()
{
check1();
check2();
if(check2())printf("You can use it!(%d times)\n",check2());
else {printf("You can't use it!\n");exit(0);}
/*<img src="http://img.blog.csdn.net/20150130120314717?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXE3NTQ0MDY2MTM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

Your code here!

*/
return 0;
}
char*getinf()
{	
char buf[MAX_PATH]; 
DWORD Ser; 
DWORD Length; 
char tmp[100];
int flag=0;
GetVolumeInformation("C:\\",NULL,MAX_PATH,&Ser,&Length,NULL,NULL,MAX_PATH); 
//Ser为long 要转换成一个能用的字符串
while(Ser)//Convert long to char*
{
	tmp[flag++]=(char)(Ser%10+'0');
	Ser/=10;
}
tmp[flag]='\0';
return tmp; 
}
bool check1()
{
	char *ur=getinf();
	char url[100]="http://localhost/bq.php?M=";
	strcat(url,ur);
	if(URLDownloadToFile(0,url,"c:\\a",0,NULL))return 1;
	else return 0;
}
int check2()
{
	int times;
	freopen("c:\\a","r",stdin);
	scanf("%d",×);
	if(times>(-1*USETIMES+50))return times;
	else return 0;
}



服务器端(php):

<?php
/*在线版权验证*/
Header("Content-type: text/plain"); 
$M=$_GET['M'];//获取硬盘序列号
if(!file_exists($M))
{
	file_put_contents($M,"50");
	echo  '50';
}
else
{
	$times=file_get_contents($M);
	unlink($M);
	file_put_contents($M,$times-1);
	echo  $times;
}
?>


php+c实现网络版权验证

标签:php   c语言   版权   验证   框架   

原文地址:http://blog.csdn.net/qq754406613/article/details/43305405

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!