Originariamente inviato da Enjix
Perchè non gestisci l'indirizzo ip e la porta direttamente da ActionScript? Ad esempio...
codice:
var indirizzoIP:String = "127.0.0.1"; // indirizzo IP del tuo server
var porta:uint = 521; // Porta del tuo server
Comunque, penso che la cosa migliore sia spostare questa discussione in ActionScript, perchè di php non vedo un granchè...
Questo è il client del gioco:
codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
require_once('./includes/core.php');
require_once('./includes/session.php');
$page['id'] = "client";
if($_SESSION['client_ok'] == "yes")
{
unset($_SESSION['client_ok']);
}
else
{
exit;
}
$A = rand(10000,20000);
$B = rand(20000,30000);
$C = rand(30000,40000);
$D = "HABLUX";
$ticket = $D."-".$A.$B.$C;
$GLOBALS['serverdb']->query("UPDATE characters SET auth_ticket = '".$ticket."' WHERE id = '".$user->id."'");
$myticket = $GLOBALS['serverdb']->fetch_assoc($GLOBALS['serverdb']->query("SELECT * FROM characters WHERE id = '".$user->id."'"));
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it" xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="http://www.hablux.it/web-gallery/v2/favicon.ico" type="image/vnd.microsoft.icon" />
<title>Hablux: </title>
<script src="http://hablux.it/client-js/libs2.js" type="text/javascript"></script>
<script src="http://hablux.it/client-js/visual.js" type="text/javascript"></script>
<script src="http://hablux.it/client-js/libs.js" type="text/javascript"></script>
<script src="http://hablux.it/client-js/common.js" type="text/javascript"></script>
<script src="<?php echo PATH; ?>/web-gallery/static/js/identity.js" type="text/javascript"></script>
<script type="text/javascript">
document.habboLoggedIn = true;
var andSoItBegins = (new Date()).getTime();
var habboName = "Pietro514";
var habboId = 1;
var facebookUser = false;
var habboReqPath = "http://hablux.it/";
var habboStaticFilePath = "http://images.habbo.com/habboweb/63_1dc60c6d6ea6e089c6893ab4e0541ee0/969/web-gallery";
var habboImagerUrl = "http://www.habbo.com/habbo-imaging/";
var habboPartner = "";
var habboDefaultClientPopupUrl = "http://hablux.it/client";
window.name = "d61bd4dc711d95b7e85b86bc2c1ce2a5a6a6286e";
if (typeof HabboClient != "undefined") { HabboClient.windowName = "d61bd4dc711d95b7e85b86bc2c1ce2a5a6a6286e"; }
</script>
<noscript>
<meta http-equiv="refresh" content="0;url=http://hablux.it/error/?nojs" />
</noscript>
<link rel="stylesheet" href="http://hablux.it/client-js/common.css" type="text/css" />
<link rel="stylesheet" href="http://hablux.it/client-js/habboflashclient.css" type="text/css" />
<link rel="stylesheet" href="http://hablux.it/client-js/client.css" type="text/css" />
<script src="http://images.habbo.com/habboweb/63_1dc60c6d6ea6e089c6893ab4e0541ee0/995/web-gallery/static/js/habboflashclient.js" type="text/javascript"></script>
<script type="text/javascript">
FlashExternalInterface.loginLogEnabled = false;
FlashExternalInterface.logLoginStep("web.view.start");
var flashvars = {
"client.allow.cross.domain" : "0",
"client.notify.cross.domain" : "1",
"connection.info.host" : "IP HOST",
"connection.info.port" : String.fromCharCode(51,56,49,48,49),
"site.url" : "http://www.hablux.it/",
"url.prefix" : "http://www.hablux.it/",
"client.reload.url" : "http://www.hablux.it/reauthenticate.php",
"client.fatal.error.url" : "http://www.hablux.it/client_error",
"client.connection.failed.url" : "http://www.hablux.it/client_err",
"external.variables.txt" : "http://hablux.biserhosting.com/r64/external_variables.txt",
"external.texts.txt" : "http://hablux.biserhosting.com/r64/external_flash_texts.txt",
"productdata.load.url" : "http://hablux.biserhosting.com/r64/productdata.txt",
"furnidata.load.url" : "http://hablux.biserhosting.com/r64/furnidata.txt",
"use.sso.ticket" : "1",
"sso.ticket" : "<?php echo $myticket['auth_ticket']; ?>",
"processlog.enabled" : "1",
"account_id" : "<?php echo $user->id; ?>",
"client.starting" : "Attendi per favore! Hablux sta caricando.",
"flash.client.url" : "http://images.habbo.com/dcr/r64_none_1dc60c6d6ea6e089c6893ab4e0541ee0/",
"user.hash" : "46623892dafc35d8633b96cee565b76af2484c1",
"facebook.user" : "0",
"has.identity" : "0",
"flash.client.origin" : "popup"
};
var params = {
"base" : "http://hablux.biserhosting.com/r64/",
"allowScriptAccess" : "always",
"menu" : "false"
};
if (!(HabbletLoader.needsFlashKbWorkaround())) {
params["wmode"] = "opaque";
}
FlashExternalInterface.signoutUrl = "http://www.hablux.it/account/logout";
var clientUrl = "http://hablux.biserhosting.com/r64/Habbo.swf";
swfobject.embedSWF(clientUrl, "flash-container", "100%", "100%", "10.0.0", "http://images.habbo.com/habboweb/63_1dc60c6d6ea6e089c6893ab4e0541ee0/217/web-gallery/flash/expressInstall.swf", flashvars, params);
window.onbeforeunload = unloading;
function unloading() {
var clientObject;
if (navigator.appName.indexOf("Microsoft") != -1) {
clientObject = window["flash-container"];
} else {
clientObject = document["flash-container"];
}
try {
clientObject.unloading();
} catch (e) {}
}
window.onresize = function() {
HabboClient.storeWindowSize();
}.debounce(0.5);
new Ajax.Request(habboReqPath + "/crossdomain.xml", {
method: 'get',
requestHeaders: {'Cache-Control': 'no-cache'}
});
</script>
</head>
<body id="client" class="flashclient">
<div id="overlay"></div>
<div id="overlay"></div>
<div id="client-ui" class>
<div id="flash-wrapper">
<div id="flash-container">
<div id="content" style="width: 400px; margin: 20px auto 0 auto; display: none">
<div class="cbb clearfix">
<h2 class="title">Error - Impossibile carica Hablux</h2>
<div class="box-content">
Questo normalmente accade quando non è installato Adobe Flash Player sul computer.</p>
Per favore, clicca qui per scaricare l'ultima versione di Adobe Flash Player!</p>
</div>
</div>
</div>
<script type="text/javascript">
$('content').show();
</script>
<noscript>
<div style="width: 400px; margin: 20px auto 0 auto; text-align: center">
If you are not automatically redirected, please click here</p>
</div>
</noscript>
</div>
</div>
<div id="content" class="client-content"></div>
</div>
<script type="text/javascript">
RightClick.init("flash-wrapper", "flash-container");
$(document.body).addClassName("js");
HabboClient.resizeToFitScreenIfNeeded();
HabboView.run();
</script>
</body>
</html>
In particolare, la parte più importante che contiene i dati che vorrei cryptare in qualche modo, è questa:
codice:
var flashvars = {
"client.allow.cross.domain" : "0",
"client.notify.cross.domain" : "1",
"connection.info.host" : "IP SERVER",
"connection.info.port" : String.fromCharCode(51,56,49,48,49),
"site.url" : "http://www.hablux.it/",
"url.prefix" : "http://www.hablux.it/",
"client.reload.url" : "http://www.hablux.it/reauthenticate.php",
"client.fatal.error.url" : "http://www.hablux.it/client_error",
"client.connection.failed.url" : "http://www.hablux.it/client_err",
"external.variables.txt" : "http://hablux.biserhosting.com/r64/external_variables.txt",
"external.texts.txt" : "http://hablux.biserhosting.com/r64/external_flash_texts.txt",
"productdata.load.url" : "http://hablux.biserhosting.com/r64/productdata.txt",
"furnidata.load.url" : "http://hablux.biserhosting.com/r64/furnidata.txt",
"use.sso.ticket" : "1",
"sso.ticket" : "<?php echo $myticket['auth_ticket']; ?>",
"processlog.enabled" : "1",
"account_id" : "<?php echo $user->id; ?>",
"client.starting" : "Attendi per favore! Hablux sta caricando.",
"flash.client.url" : "http://images.habbo.com/dcr/r64_none_1dc60c6d6ea6e089c6893ab4e0541ee0/",
"user.hash" : "46623892dafc35d8633b96cee565b76af2484c1",
"facebook.user" : "0",
"has.identity" : "0",
"flash.client.origin" : "popup"
};
"connection.info.host" : "IP SERVER",
"connection.info.port" : String.fromCharCode(51,56,49,48,49),
ci sono queste 2 "variabili" che specificano porta (quest'ultima inutilmente cryptata, visto che con i tool sviluppatore di Chrome e Firefox si vede la porta decryptata) e poi l'IP che vorrei assolutamente nascondere...