Jump to content

Lui2004

Member
  • Posts

    26
  • Joined

  • Last visited

Everything posted by Lui2004

  1. How can i make this output Array ( [status] => invalid [Massage] => domain invalid [Remotecheck] => 1 ) License key is invalid in a xml output because because the other php cant Read array only xml output. Thanks for help
  2. Hi little question My Output is in array how can i make the Output in xml what i must Change in check sample code ? thanks
  3. ok will do this thank for your time mate
  4. its just ip without Domain no Problem mate youre the only one who trys to help me
  5. thats a screenshot in whmcs i got everytime Domain invalid thanks to all for help and pacienc
  6. hi in my installscript i have follow: echo "\n##############################\n"; echo "# #\n"; echo "# Test-Script #\n"; echo "##############################\n\n"; echo " TEST\n\n"; do { echo "[*] Enter the License for installation: "; fscanf( STDIN, '%s', $licenza); } while ( ! is_valid_licence( $licenza) ); for mysql: mysql_query( "UPDATE `licence` SET `licenza` = '$licenza" ); and function: function is_valid_licence( $licenza) my actual check_code.php <?php function is_valid_licence($licenza, $localkey='') { // ----------------------------------- // -- Configuration Values -- // ----------------------------------- // Enter the url to your WHMCS installation here $whmcsurl = 'http://ip from server/'; // Must match what is specified in the MD5 Hash Verification field // of the licensing product that will be used with this check. $licensing_secret_key = 'key from licensing addon'; // The number of days to wait between performing remote license checks $localkeydays = 15; // The number of days to allow failover for after local key expiry $allowcheckfaildays = 5; // ----------------------------------- // -- Do not edit below this line -- // ----------------------------------- $check_token = time() . md5(mt_rand(1000000000, 9999999999) . $licensekey); $checkdate = date("Ymd"); $domain = $_SERVER['SERVER_NAME']; $usersip = isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : $_SERVER['LOCAL_ADDR']; $dirpath = dirname(__FILE__); $verifyfilepath = 'modules/servers/licensing/verify.php'; $localkeyvalid = false; if ($localkey) { $localkey = str_replace("\n", '', $localkey); # Remove the line breaks $localdata = substr($localkey, 0, strlen($localkey) - 32); # Extract License Data $md5hash = substr($localkey, strlen($localkey) - 32); # Extract MD5 Hash if ($md5hash == md5($localdata . $licensing_secret_key)) { $localdata = strrev($localdata); # Reverse the string $md5hash = substr($localdata, 0, 32); # Extract MD5 Hash $localdata = substr($localdata, 32); # Extract License Data $localdata = base64_decode($localdata); $localkeyresults = unserialize($localdata); $originalcheckdate = $localkeyresults['checkdate']; if ($md5hash == md5($originalcheckdate . $licensing_secret_key)) { $localexpiry = date("Ymd", mktime(0, 0, 0, date("m"), date("d") - $localkeydays, date("Y"))); if ($originalcheckdate > $localexpiry) { $localkeyvalid = true; $results = $localkeyresults; $validdomains = explode(',', $results['validdomain']); if (!in_array($_SERVER['SERVER_NAME'], $validdomains)) { $localkeyvalid = false; $localkeyresults['status'] = "Invalid"; $results = array(); } $validips = explode(',', $results['validip']); if (!in_array($usersip, $validips)) { $localkeyvalid = false; $localkeyresults['status'] = "Invalid"; $results = array(); } $validdirs = explode(',', $results['validdirectory']); if (!in_array($dirpath, $validdirs)) { $localkeyvalid = false; $localkeyresults['status'] = "Invalid"; $results = array(); } } } } } if (!$localkeyvalid) { $responseCode = 0; $postfields = array( 'licensekey' => $licensekey, 'domain' => $domain, 'ip' => $usersip, 'dir' => $dirpath, ); if ($check_token) $postfields['check_token'] = $check_token; $query_string = ''; foreach ($postfields AS $k=>$v) { $query_string .= $k.'='.urlencode($v).'&'; } if (function_exists('curl_exec')) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $whmcsurl . $verifyfilepath); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $query_string); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($ch); $responseCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); } else { $responseCodePattern = '/^HTTP\/\d+\.\d+\s+(\d+)/'; $fp = @fsockopen($whmcsurl, 80, $errno, $errstr, 5); if ($fp) { $newlinefeed = "\r\n"; $header = "POST ".$whmcsurl . $verifyfilepath . " HTTP/1.0" . $newlinefeed; $header .= "Host: ".$whmcsurl . $newlinefeed; $header .= "Content-type: application/x-www-form-urlencoded" . $newlinefeed; $header .= "Content-length: ".@strlen($query_string) . $newlinefeed; $header .= "Connection: close" . $newlinefeed . $newlinefeed; $header .= $query_string; $data = $line = ''; @stream_set_timeout($fp, 20); @fputs($fp, $header); $status = @socket_get_status($fp); while (!@feof($fp)&&$status) { $line = @fgets($fp, 1024); $patternMatches = array(); if (!$responseCode && preg_match($responseCodePattern, trim($line), $patternMatches) ) { $responseCode = (empty($patternMatches[1])) ? 0 : $patternMatches[1]; } $data .= $line; $status = @socket_get_status($fp); } @fclose ($fp); } } if ($responseCode != 200) { $localexpiry = date("Ymd", mktime(0, 0, 0, date("m"), date("d") - ($localkeydays + $allowcheckfaildays), date("Y"))); if ($originalcheckdate > $localexpiry) { $results = $localkeyresults; } else { $results = array(); $results['status'] = "Invalid"; $results['description'] = "Remote Check Failed"; return $results; } } else { preg_match_all('/<(.*?)>([^<]+)<\/\\1>/i', $data, $matches); $results = array(); foreach ($matches[1] AS $k=>$v) { $results[$v] = $matches[2][$k]; } } if (!is_array($results)) { die("Invalid License Server Response"); } if ($results['md5hash']) { if ($results['md5hash'] != md5($licensing_secret_key . $check_token)) { $results['status'] = "Invalid"; $results['description'] = "MD5 Checksum Verification Failed"; return $results; } } if ($results['status'] == "Active") { $results['checkdate'] = $checkdate; $data_encoded = serialize($results); $data_encoded = base64_encode($data_encoded); $data_encoded = md5($checkdate . $licensing_secret_key) . $data_encoded; $data_encoded = strrev($data_encoded); $data_encoded = $data_encoded . md5($data_encoded . $licensing_secret_key); $data_encoded = wordwrap($data_encoded, 80, "\n", true); $results['localkey'] = $data_encoded; } $results['remotecheck'] = true; } unset($postfields,$data,$matches,$whmcsurl,$licensing_secret_key,$checkdate,$usersip,$localkeydays,$allowcheckfaildays,$md5hash); return $results; } // Get the license key and local key from storage // These are typically stored either in flat files or an SQL database $licenza = ""; $localkey = ''; // Validate the license key information $results = is_valid_licence($licenza, $localkey); // Raw output of results for debugging purpose echo '<textarea cols="100" rows="20">' . print_r($results, true) . '</textarea>'; // Interpret response switch ($results['status']) { case "Active": // get new local key and save it somewhere $localkeydata = $results['localkey']; break; case "Invalid": die("License key is Invalid"); break; case "Expired": die("License key is Expired"); break; case "Suspended": die("License key is Suspended"); break; default: die("Invalid Response"); break; } do i Need Change somthing else ? regards
  7. ok thanks in which file i must integrate the check_sample_code.php ? i will Report tommorow
  8. thanks but can you give me an example with my check_code.php? what i insert in my script ?
  9. 1.Server whmcs and script who i want try with the licensing addon i have try with 2 Server like whmcs+ licensing addon = 111.111.111.111 i get all like valid ip - Domain and Directory from the Server with whmcs and not from the other Server with the script and entered licens 2.Server and script = 222.222.222.222 but still the same licens not valid EDIT: which part from my check_code i must insert into my script for licensing ?
  10. yes if i enter the ip only i got to the "Portal Home"
  11. thats my check_code.php <?php /** * WHMCS Licensing Addon - Integration Code Sample * http://www.whmcs.com/addons/licensing-addon/ * * The following code is a fully working code sample demonstrating how to * perform license checks using the WHMCS Licensing Addon. It is PHP 4 and * 5 compatible. Requires the WHMCS Licensing Addon to be used. * * @package WHMCS * @author WHMCS Limited <development@whmcs.com> * @copyright Copyright (c) WHMCS Limited 2005-2014 * @license http://www.whmcs.com/license/ WHMCS Eula * @version $Id$ * @link http://www.whmcs.com/ */ /** * This is just example code, and is not intended to be invoked directly. * * To ensure this code isn't unintentionally invoked on the command line or * via the web interface, any attempt to actually execute this code will * be exited: */ /** * If you are using this file as a template for your own module, once * you've modified the code for your use, remove the exit above. */ // Replace "yourprefix" with your own unique prefix to avoid conflicts with // other instances of the licensing addon included within the same scope function check_license($licensekey,$localkey='') { // ----------------------------------- // -- Configuration Values -- // ----------------------------------- // Enter the url to your WHMCS installation here $whmcsurl = 'http://ip from server/'; // Must match what is specified in the MD5 Hash Verification field // of the licensing product that will be used with this check. $licensing_secret_key = 'secret key from licensing addon'; // The number of days to wait between performing remote license checks $localkeydays = 15; // The number of days to allow failover for after local key expiry $allowcheckfaildays = 5; // ----------------------------------- // -- Do not edit below this line -- // ----------------------------------- $check_token = time() . md5(mt_rand(1000000000, 9999999999) . $licensekey); $checkdate = date("Ymd"); $domain = $_SERVER['SERVER_NAME']; $usersip = isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : $_SERVER['LOCAL_ADDR']; $dirpath = dirname(__FILE__); $verifyfilepath = 'modules/servers/licensing/verify.php'; $localkeyvalid = false; if ($localkey) { $localkey = str_replace("\n", '', $localkey); # Remove the line breaks $localdata = substr($localkey, 0, strlen($localkey) - 32); # Extract License Data $md5hash = substr($localkey, strlen($localkey) - 32); # Extract MD5 Hash if ($md5hash == md5($localdata . $licensing_secret_key)) { $localdata = strrev($localdata); # Reverse the string $md5hash = substr($localdata, 0, 32); # Extract MD5 Hash $localdata = substr($localdata, 32); # Extract License Data $localdata = base64_decode($localdata); $localkeyresults = unserialize($localdata); $originalcheckdate = $localkeyresults['checkdate']; if ($md5hash == md5($originalcheckdate . $licensing_secret_key)) { $localexpiry = date("Ymd", mktime(0, 0, 0, date("m"), date("d") - $localkeydays, date("Y"))); if ($originalcheckdate > $localexpiry) { $localkeyvalid = true; $results = $localkeyresults; $validdomains = explode(',', $results['validdomain']); if (!in_array($_SERVER['SERVER_NAME'], $validdomains)) { $localkeyvalid = false; $localkeyresults['status'] = "Invalid"; $results = array(); } $validips = explode(',', $results['validip']); if (!in_array($usersip, $validips)) { $localkeyvalid = false; $localkeyresults['status'] = "Invalid"; $results = array(); } $validdirs = explode(',', $results['validdirectory']); if (!in_array($dirpath, $validdirs)) { $localkeyvalid = false; $localkeyresults['status'] = "Invalid"; $results = array(); } } } } } if (!$localkeyvalid) { $responseCode = 0; $postfields = array( 'licensekey' => $licensekey, 'domain' => $domain, 'ip' => $usersip, 'dir' => $dirpath, ); if ($check_token) $postfields['check_token'] = $check_token; $query_string = ''; foreach ($postfields AS $k=>$v) { $query_string .= $k.'='.urlencode($v).'&'; } if (function_exists('curl_exec')) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $whmcsurl . $verifyfilepath); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $query_string); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($ch); $responseCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); } else { $responseCodePattern = '/^HTTP\/\d+\.\d+\s+(\d+)/'; $fp = @fsockopen($whmcsurl, 80, $errno, $errstr, 5); if ($fp) { $newlinefeed = "\r\n"; $header = "POST ".$whmcsurl . $verifyfilepath . " HTTP/1.0" . $newlinefeed; $header .= "Host: ".$whmcsurl . $newlinefeed; $header .= "Content-type: application/x-www-form-urlencoded" . $newlinefeed; $header .= "Content-length: ".@strlen($query_string) . $newlinefeed; $header .= "Connection: close" . $newlinefeed . $newlinefeed; $header .= $query_string; $data = $line = ''; @stream_set_timeout($fp, 20); @fputs($fp, $header); $status = @socket_get_status($fp); while (!@feof($fp)&&$status) { $line = @fgets($fp, 1024); $patternMatches = array(); if (!$responseCode && preg_match($responseCodePattern, trim($line), $patternMatches) ) { $responseCode = (empty($patternMatches[1])) ? 0 : $patternMatches[1]; } $data .= $line; $status = @socket_get_status($fp); } @fclose ($fp); } } if ($responseCode != 200) { $localexpiry = date("Ymd", mktime(0, 0, 0, date("m"), date("d") - ($localkeydays + $allowcheckfaildays), date("Y"))); if ($originalcheckdate > $localexpiry) { $results = $localkeyresults; } else { $results = array(); $results['/'] = "Invalid"; $results['description'] = "Remote Check Failed"; return $results; } } else { preg_match_all('/<(.*?)>([^<]+)<\/\\1>/i', $data, $matches); $results = array(); foreach ($matches[1] AS $k=>$v) { $results[$v] = $matches[2][$k]; } } if (!is_array($results)) { die("Invalid License Server Response"); } if ($results['md5hash']) { if ($results['md5hash'] != md5($licensing_secret_key . $check_token)) { $results['status'] = "Invalid"; $results['description'] = "MD5 Checksum Verification Failed"; return $results; } } if ($results['status'] == "Active") { $results['checkdate'] = $checkdate; $data_encoded = serialize($results); $data_encoded = base64_encode($data_encoded); $data_encoded = md5($checkdate . $licensing_secret_key) . $data_encoded; $data_encoded = strrev($data_encoded); $data_encoded = $data_encoded . md5($data_encoded . $licensing_secret_key); $data_encoded = wordwrap($data_encoded, 80, "\n", true); $results['localkey'] = $data_encoded; } $results['remotecheck'] = true; } unset($postfields,$data,$matches,$whmcsurl,$licensing_secret_key,$checkdate,$usersip,$localkeydays,$allowcheckfaildays,$md5hash); return $results; } // Get the license key and local key from storage // These are typically stored either in flat files or an SQL database $licensekey = ""; $localkey = ""; $base = __DIR__; $handle = fopen($base."/license.txt", "r"); if ($handle) { $count = 0; while (($line = fgets($handle)) !== false) { // process the line read. if ($count == 0) { $licensekey = trim($line); } else if ($count == 1) { $localkey = trim($line); break; } $count++; } fclose($handle); } else { die("Could not read license file. Please contact support."); } echo $licensekey."<br/>"; echo $localkey."<br/>"; // Validate the license key information $results = check_license($licensekey, $localkey); // Raw output of results for debugging purpose echo '<textarea cols="100" rows="20">' . print_r($results, true) . '</textarea>'; // Interpret response switch ($results['status']) { case "Active": // get new local key and save it somewhere $localkeydata = str_replace(' ','',preg_replace('/\s+/', ' ', $results['localkey'])); $handle = fopen($base."/license.txt", "r"); if ($handle) { $count = 0; while (($line = fgets($handle)) !== false) { // process the line read. if ($count == 0) { $licence_key = trim($line); break; } $count++; } fclose($handle); if (isset($results['localkey'])) { $textfile = fopen($base . "/license.txt", "w") or die("Unable to open file!"); $contents = $licence_key . "\n" . $localkeydata . "\n"; fwrite($textfile, $contents); fclose($textfile); } } else { die("Could not read license file. Please contact support."); } break; case "Invalid": die("License key is Invalid"); break; case "Expired": die("License key is Expired"); break; case "Suspended": die("License key is Suspended"); break; default: die("Invalid Response"); break; }
  12. I Have installed whmcs in var/www/html/ So my $whmcsurl is : $whmcsurl = 'http://ipfromserver/'; He correct directory to check is : /home/test/test1/
  13. Hi I Got some News about my Problem with licensing addon: I execute the check_code.php and I Got follow on my browser : Array ( [status] => active [Registeredname] => test test => my Email adress [serviceid] => 6 [Productid] => 1 [Productname] => my Productname [regdate] => 2015-12-02 [nextduedate] => 0000-00-00 [billingcycle] => Free Account [validdomain] => my ip ,www [Validip] => my ip [Validdiractory] => /var/www/html/modules/servers/licensing [Md5Hash] => generated hash [checkdate] => 20151202 ) Why the code check the wrong directory? What i doing wrong ? Thanks
  14. Oh **************** i will delete this file I dont want to be a pirate
  15. Hi I Have in Internet a verify.php and I have try it and it Works only if i put the licens manually into this verify.php I dont now if its ok if i Post this verify.php because the original is coded and this one From Internet is open but with this is verify.php my licens work. But this code dont send me valid ip ,valid domain and valid directory Why i can write into this thread only with M mobile Phone on my PC to reply thread is grey Regards
  16. Licensing Manager: 1 active licenses 1 total licenses in database Status message: Invalid key - Without licens Thats strange Thanks
  17. So now I have Insert the licens and I Got Valid Domains, valid ips valid directory But my Programm saß not valid licens I am disperated What i make wrong? Thanks
  18. Can anybody Post the how to connect with database ?because their is not available Thanks
  19. I Have purchase a licens but i get in Browser follow: Array ( [status] => Invalid [Remotecheck => 1 ) In my database is no localkey or licensekey saved I have this in my check_license.php $licensekey = mysql_result(mysql_query("SELECT license_key FROM keys LIMIT 1"),0); $localkey = mysql_result(mysql_query("SELECT local_key FROM key LIMIT 1"),0); Do you have a how to or you can give a help to create the table key with the license_key and local_key field because i think i dont have Made it correctly Thanks
  20. Ok perfect I have create a Table in database called keys and create into this table license_keys and local_key how to store now my localkey and licence key into this tables? Yourprefix123_check_license($licensekey, $localkey=")function Which Name i have to give Yourprefix123_check_license? I Have call it: check_license($licensekey, $localkey=")function I run check_license.php and I Got follow on my browser: Array ( [status] => invalid [Massage] => domain invalid [Remotecheck] => 1 ) License key is invalid Thanks for helping me Ps: i can write here only with Handy and not with my PC, why?
  21. What i muss Set here ? $licensekey= "" $localkey = "" And where the will found my generated license? Sorry for all this questions
  22. Hi I Have Read this but still the same Problem my Problem ist the licence key is invalid . Do you have an Example for me? Thanks
  23. Hi Nobody can help me with my Problem? Give me some explain how to configure the lincensing addon. Thanks
  24. i post some pictures where is my problem licensing addon dont give valid domain,valid ip and so on when i create a licence my script say invalid licence this is a picture in client area blank without licence - valid ip - valid domain ...... - Removed - strange picture 2 times reissue ( seems tpl is broken? or anybody cn post me his tpl ) - Removed - here you can see no valid domain, no valid ip and the licence when put in the php give as invalid - Removed - thanks for help regards
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated