Mam na stronie bez logowanie i zbędnych ceregieli prosty formularz wykonujący połączenie strona->inna strona->serwer na potrzeby sklepu sms. Ostatnio wszystko nie działało, okazało się że na xaa.pl po zbyt dużej liczbie takich połączeń serwer banuje ip, z którym się aktywnie łączy. Chciałbym dodać jakieś ograniczenie klikania na button np. z 60 sekund, bo gnoje zapewne skryptowo próbują zlagować stronkę. Proszę o pomoc.
ograniczyć klikanie buttona
bez kodu nie pomożemy
Wysłane z mojego GT-I9100 za pomocą Tapatalk 4
Wysłane z mojego GT-I9100 za pomocą Tapatalk 4
<?php
$chars = array ('&','"','<','>','\'', '/', '*', '+', ','); //znaki które chcemy wywalić z naszych zmiennych [JackEbr]
$vars = array ('&', '"', '<','>',''', '/', '*', 'E:', 'E:'); //zastępniki znaków [JackEbr]
$_GET = str_replace($chars, $vars, $_GET); //zamiana znaków wzorcem powyżej [JackEbr]
$_POST = str_replace($chars, $vars, $_POST); //zamiana znaków wzorcem powyżej [JackEbr]
include('konfiguracja1.php'); //Pobieranie zmiennych dot. konsoli, zasilacza i błędów
function napraw($ciag){ //Naprawia ciag, tak aby HTTPCONSOLE poprawnie odbieralo spacje
include('konfiguracja1.php');
$naprawiam = str_replace (" ", "%20", $ciag);
return $naprawiam;
};
function konsola($command){ //Funkcja wywolywana aby skontakowac sie z serwerem Minecraft
include('konfiguracja1.php');
$ch = curl_init();
$command = napraw($command);
curl_setopt($ch, CURLOPT_URL, "http://$ip:$port/console?command=$command");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output=curl_exec($ch);
curl_close($ch);
return $output;
};
if($kwota_doladowania>7 || $kwota_doladowania<0){
die("Blad: Skrypt zostal zle skonfigurowany, wybierz poprawna kwote doladowania.");
}
switch ($kwota_doladowania){
case 1:
$koszt_sms="3.69";
$numer_sms="73068";
$ilosc_craftow="1";
break;
case 2:
$koszt_sms="4.92";
$numer_sms="74068";
$ilosc_craftow="2";
break;
case 3:
$koszt_sms="6.15";
$numer_sms="75068";
$ilosc_craftow="3";
break;
case 4:
$koszt_sms="7.38";
$numer_sms="76068";
$ilosc_craftow="4";
break;
case 5:
$koszt_sms="11.07";
$numer_sms="79068";
$ilosc_craftow="5";
break;
case 6:
$koszt_sms="23.37";
$numer_sms="91958";
$ilosc_craftow="9";
break;
case 7:
$koszt_sms="30.75";
$numer_sms="92578";
$ilosc_craftow="11";
break;
}
// Sprawdzanie niepoprawności! [JackEbr]
if(isset($_POST['nick'])) {
if (!preg_match("/^[a-zA-Z\d\-_]+$/i", $_POST['nick'])) { die('Podany nick zawiera niepoprawne znaki!'); }
if (!preg_match("/^[a-zA-Z\d\-_]+$/i", $_POST['kod'])) { die('Podany kod zawiera niepoprawne znaki!'); }
if (!preg_match("/^[a-zA-Z\d\-_]+$/i", $_POST['opis'])) { die('Podany opis zawiera niepoprawne znaki!'); }
}
if(isset($_POST["active"])){
$nick=htmlspecialchars($_POST["nick"]);
$opis=htmlspecialchars($_POST["opis"]);
$kod=htmlspecialchars($_POST["kod"]);
$nik = str_replace ("_", "", $nick);
if(strlen($opis)>20 || strlen($nick)>20){
$blad="Opis oraz nick moze posiadac maksymalnie 20 znakow.";
}
if(!ctype_alnum($nik) || !ctype_alnum(str_replace(" ","",$opis)) || !ctype_alnum($kod)){
$blad="Zakaz stosowania znakow specjalnych.";
}
$opis=str_replace(" ","_",$opis);
if($kod==NULL && $nik==NULL)
{
echo $blad_pusty_formularz;
}
else
if($kod==NULL)
{
echo $blad_brak_kodu;
}
else
if($nik==NULL)
{
echo $blad_brak_nicku;
}
else{
$link="http://www.mineserv.eu/skrypt_zasilacz/$kod_zasilacza/$nik/$opis/$kod";
if($tryb_testowania_zasilacz_mineserv == "tak"){
$link="http://www.mineserv.eu/skrypt_zasilacz/test/$kod_zasilacza";
}
$odpowiedz = fopen($link, 'r');
$wynik = fgets($odpowiedz, 5);
fclose($odpowiedz);
if(substr($wynik,0,1) == ":"){
if($wynik==":"){
echo "Wpisany ID zasilacza jest niepoprawny.";
}else{
echo "Pomyślnie połączono się z zasilaczem. Początek nazwy Twojego konta to: <b>".$wynik."</b>";
}
}elseif($wynik == "blad"){
echo $blad_zly_kod;
if($tryb_testowania_serwera_mc == "tak"){
include('komendy1.php');
echo "<center><br><font color=red size=7>UWAGA! <br><b>TRYB TESTOWY</b><br> Komendy wykonują się po wpisanie błędnego kodu SMS! <br>Jeśli chcesz wyłączyć tryb testowy, zmień wartość w pliku konfiguracyjnym.</font></center>";
}
}elseif(substr($wynik,0,2) == 'OK'){
if(substr($wynik, 3) == $ilosc_craftow){
// Kod poprawny, tu mozesz wpisac wlasne akcje ktore chcesz aby sie wykonaly po poprawnym zasileniu konta.
echo $akceptacja_dobry_kod;
include('komendy1.php');
}else{
// Jezeli doladowana ilosc craftow nie jest taka jaka ustalilismy w skrypcie.
die("Blad: Niepoprawna kwota doladowania.");
}
}else{
die("Blad: Skrypt zostal zle skonfigurowany, wpisz poprawny ID zasilacza.");
}
}
}
?>
Daniel Praźmo
- Mentor MyBB
- 2 093 40 942 10
Raar, podaj jeszcze z łaski swojej link do sklepu, żeby można było to sobie ładnie zwizualizować i powiedz, który button ma być zablokowany, etc.
:: Akcja DZIĘKUJĘ ZA POMOC ::
Pomocy udzielam jedynie na forum. Wszystkie rzeczy wykraczające poza tą dziedzinę wykonuję odpłatnie.
Pomocy udzielam jedynie na forum. Wszystkie rzeczy wykraczające poza tą dziedzinę wykonuję odpłatnie.
Użytkownicy przeglądający ten wątek:
2 gości