Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jeśli mail w bazie
Forum PHP.pl > Forum > Przedszkole
liestyle*
Witajcie!
Mam skrypt w PHP, który postawiony jest na linuxie. Jest to bot.
Jako że jest on mojego autorstwa, chciałbym go udostępnić nieco szerszemu gronu, jednakże obawiam się że bot poleci zbyt daleko.
Odpala się go poprzez 'php core.php'.
Chciałbym, aby bot startował tylko, jeśli podany numer/hasło/cyferka znajduje się w bazie danych, na jakiejś stronie - cokolwiek.

Moglibyście udostępnić mi jakiś poradnik, bądź wytłumaczyć jakimi komendami to zrobić?
styryl
Pokaż kod, a poradnik masz tutaj: http://www.php.net/manual/en/index.php
liestyle*
  1. <?php
  2. date_default_timezone_set('Europe/Warsaw');
  3.  
  4. require_once 'config/teamspeak.php';
  5. require_once 'include/ts3admin.class.php';
  6. require_once 'include/helper.php';
  7.  
  8. $query = new ts3admin($teamspeak['address'], $teamspeak['tcp']);
  9.  
  10. $cache = array();
  11. $welcome = array();
  12.  
  13. if($query->getElement('success', $query->connect())) {
  14.  
  15. $query->login($teamspeak['login'],$teamspeak['password']);
  16.  
  17. $query->selectServer($teamspeak['udp']);
  18.  
  19. $query->setName($bot['name']);
  20.  
  21. while (true) {
  22.  
  23. $core = $query->getElement('data',$query->whoAmI());
  24. $query->clientMove($core['client_id'],$bot['default_channel']);
  25.  
  26. $users = $query->getElement('data',$query->clientList('-groups -voice -away -times'));
  27.  
  28. $pokes = array();
  29. $admins = array();

  1. //clear cache
  2. foreach ($cache as $time => $user) {
  3. if (time() - $time > $interval) {
  4. unset($cache[$time]);
  5. }
  6. }
  7.  
  8. //clear welcome
  9. if (date('H') == '23') {
  10. foreach ($welcome as $time => $user) {
  11. if (time() - $time > 60*60*24) { //1 day
  12. unset($welcome[$time]);
  13. }
  14. }
  15. }
  16.  
  17. $admins = array();
  18. sleep(1);
  19. }
  20. }
  21. ?>



Wyciąłem fragment odpowiadający za poketowanie i pisanie wiadomości do użytkowników. Prócz tego ,jest cały kod. Chciałbym udostępniać go ludziom, ale tak, żeby działało jeśli podadzą kod/ich mail/hasło/ip będzie widniało w bazie. Tak żeby dostęp miały osoby, którym ja go dam.
sowiq
Rozumiem, że chodzi Ci o to, żeby skrypt mogły odpalić tylko osoby, którym, na to pozwolisz (np. tylko takie, które zapłaciły).

Już Ci tłumaczę, dlaczego Twoje rozumowanie nie ma sensu:
  1. // Twój kod udzielania dostępu
  2. if(clientExistsInMyDatabase($clientEmail, $password)){
  3. // działaj
  4. }
  5. else{
  6. throw new NotPaidException('Nie masz dostępu!!!11');
  7. }


  1. // Ktoś dopisał kilka znaków i już śmiga za darmo :]
  2. if(true || clientExistsInMyDatabase($clientEmail, $password)){
  3. // działaj
  4. }
  5. else{
  6. throw new NotPaidException('Nie masz dostępu!!!11');
  7. }


Jeśli dajesz otwarty kod źródłowy, to nie licz na to, że zabronisz komuś dostępu do jego uruchomienia smile.gif
liestyle*
Jestem w stanie jakoś to zakodować czy coś? Skrypt jest odpalany na linuxie i ustawienia są brane z folderów które są tam wypisane. Byłbym wdzięczny za każdą pomoc.
styryl
Oczywiście, możesz zakodować np tym: http://phpencoder.eu/
liestyle*
Więc jeśli dodam skrypt który podałeś, a następnie zakoduje to plikami z tej strony, będzie to działać, tak? Jeśli byś mógł tylko, chciałbym odwołać się do zewnętrznej bazy danych, mógłbyś pokazać mi kod, którym mogę tak zrobić? Jeśli dobrze rozumiem, dla każdej osoby będę musiał zakodować to osobno? Jest jakiś sposób żeby sprawdzić, czy łączono się z więcej niż jednego IP dla danego maila?
styryl
1. Nie powinno być problemu z działaniem
2. Połączenie z zewnętrzną bazą może zrealizować np poprzez REST/API
3. Sprawdź w dokumentacji na stronie http://phpencoder.eu/ - z tego co pamiętam można zrobić jednorazowo dla wszystkich jak i licencje dla konkretnego użytkownika
4. IP możesz sprawdzić w żądaniu wysyłanym do Twojego API
liestyle*
Dziękuje wam bardzo serdecznie za pomoc, naprawdę bardzo dużo mi wyjaśniliście.
Jednak jestem zielony, a nie mogę znaleźć żadnego poradnika dotyczącego tego API.
Moglibyście mi jeszcze pomóc w tej jednej rzeczy? smile.gif
styryl
Szukaj w google pod hasłami php rest server client jest masa przykładów.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.