내가하려는 것은 내 웹 사이트에 Votifier 플러그인에 대한 지원을 추가하는 것입니다.fsockopen을 사용하여 서버에 연결 - 연결이 거부되었습니다
나는 Minecraft 서버에 대해 올바른 포트를 전달하고 테스트를 거쳐 열려 있는지 확인합니다. 또한 Votifier 플러그인이 올바르게 작동하는지 확인하려면 Minestatus을 사용하십시오.
그러나 서버에 연결하기 위해 찾은 PHP 스크립트를 사용하면 연결이 거부됩니다.
<?php
error_reporting(E_ALL);
// Details of the vote.
$str = "VOTE\n" .
"TopHCSMP\n" .
"SlickTheNick666\n" .
"50.98.149.40\n" .
time()."\n";
// Fill in empty space to make the encrypted block 256 bytes.
$leftover = (256 - strlen($str))/2;
while ($leftover > 0) {
$str .= "\x0";
$leftover--;
}
// The public key, this is an example.
$key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkFywgrx2fPXL/CPS1Gi5/a7zoTfWV9fqrhsJMzPqqC0CnLBBkg8VUiwnBVsMvhJrUT1mLvyHx5H9dobTVlE+aoxcsDRa1Yc9OAUKHspxrPswRW6/Yn85YAghOSBZfgPoXD3Q0Ng5jkJUoBUHOBtFHDUeAHi5av36iJ8dTQTSaOyAXKGdB88TOzre5cpnj5oDi/JSJ0bCJx7cgcBAO1TvOVuFMTXhygDyEVh6 o2nn8+qdDlEPXf+m+dxdkH3zWkkWjY4OittIpaHj2n8ihgPqwMPZFH1CXkoTjoSh4Fo7KtUAaAa4gt5w/thauozG25G 1s2XSigNgCDDvg4S8awmtewIDAQAB";
$key = wordwrap($key, 65, "\n", true);
$key = <<<EOF
-----BEGIN PUBLIC KEY-----
$key
-----END PUBLIC KEY-----
EOF;
// Encrypt the string.
openssl_public_encrypt($str, $encrypted, $key);
// Establish a connection to Votifier.
$socket = fsockopen("50.98.149.40", "8192", $errno, $errstr, 2);
if (!$socket) {
die("Failed to connect to Votifier.");
}
// Send the contents of the encrypted block to Votifier.
fwrite($socket, $encrypted);
?>
암호화가 올바르지 않아 Votifier가 연결을 끊는 것 같습니다.
공유 호스팅을 사용하는 경우, 아웃 바운드 포트 8142가 차단 될 수 있습니다. 예를 들어, GoDaddy 공유 호스팅은 443과 80의 fsockopen 만 허용합니다. – Drakes