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;
}
?>


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。