![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 28.03.2011 Skąd: Krk Ostrzeżenie: (0%) ![]() ![]() |
Czesc prosil bym was abyscie ten skrypt: <?php
echo rand(1,100); ?> zamienili na taki że można tylko z jednego ip 1 raz dziennie wylosować liczbę. Pomoże ktoś? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Napisz to polsku i wykaż się wiekszą inicjatywną to na pewno ktoś Ci pomoże.
Jak można z adresu IP wylosować liczbę? Wyciągnąć losową cyfre ze stringu? -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Myślę, że chodzi mu o jakieś losowanie, ale żeby nie oszukiwać za bardzo to sprawdzanie ip i dopiero wtedy wstęp na dalszy ciąg losowania:
Załóżmy, że masz przycisk LOSUJ, który po naciśnięciu wylosuje Ci daną liczbę, czyli przed tym wszystkim na początku sprawdzał bym IP, czyli za każdym razem, gdy ktoś przycisk LOSUJ sprawdzasz i zapisujesz gdzieś jego IP np do pliku, gdy IP danego użytkownika jest już na liście blokujesz mu wtedy przycisk LOSUJ, a gdy nie ma zostawiasz przycisk odblokowany. Później trzeba byłoby pomyśleć nad czymś co skasuje zawartość pliku np o godzinie 0:00. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Od innej strony próbowałem rozszyfrować jego zdanie.
Szymciosek blokowanie przycisku jak najbardziej - ale tylko jako pierwsza linia ochorny. Co do najlepszego rozwiązania zależy czy mamy do dyspozycji bazę? -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 28.03.2011 Skąd: Krk Ostrzeżenie: (0%) ![]() ![]() |
Mysql? Tak mamy
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Z uwagi na to, że szukasz jakiegoś gotowego skryptu to proszę:
jest to przykładowa funkcja, która będzie Ci takie liczby generować. To jest podstawa (idea), którą możesz sobie przerabiać i rozbudowywać. Działa na plikach, zapisuje do plików adresy IP, które już losowały i dodatkowo jaką liczbę wylosowano - tak więc mogą służyć jako coś w rodzaju LOGa. Jest to oczywiście tylko moja propozycja "na szybko" ![]() Skrypt można przerobić tak, że danego dnia po pierwszym wylosowaniu liczby, funkcja będzie zwracała potem dokładnie tą liczbę czyli: 1. pierwsze wejście z danego IP - losowana jest i zwracana liczba - na przykład 88 2. drugie i każde kolejne wejście tego samego dnia - zwracana jest liczba 88 (zapisana dla danego IP) Można to także zrobić na bazie danych jak wspominali moi przedmówcy -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
A jak rozwiązać kwestię czyszczenie pliku z adresów IP ?
Mi przychodzi do głowy tylko cron, albo za każdym wejściem na losowanie sprawdzanie daty ostatniego losowania i na tej podstawie czyszczenie. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 14 Dołączył: 8.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
za kazdym wejsciem sprawdzanie kazdego losowania to moze troche zbyt czasochlonne.
ja bym to tak widzial. Obsluguj ten caly proces za pomocą jakiegos obiektu (i nie uzyskuj do niego dostepu innymi metodami niz ten obiekt). W konstruktorze obiektu daj takie cos (pseudokod) if (obecnaData - dataOstatniegoCzyszczenia > 24) { $this->proceduraCzyszczaca(); } i bedziesz miał takiego lazy-load crona.jesli nikt nie wejdzie na strone caly dzien to sie nie wyczysci. ja mialem u siebie statystyki turniejów ktore wyswietlaly sie w kilku miejscach, i jesli minął czas wybrany na turniej to powinny się powyłączac - mialem do wyboru crona obslugujacego turnieje w tle lub taki lazy-loading, wybralem lazy-loading i sprawdzalo sie ok. po prostu dane do wyswietlenia statystyk zbieralem obiektem obslugujacym caly ten proces turniejowy, i jesli przy tworzeniu obiektu proces wykryl ze jakis turniej juz sie zakonczyl to szybko dokanczal proces turniejowy itd i statystyka wyswietlala sie aktualna. Ten post edytował Orzeszekk 10.04.2012, 23:08:45 -------------------- "The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time."
Tom Cargill, Bell Labs |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 28.03.2011 Skąd: Krk Ostrzeżenie: (0%) ![]() ![]() |
A dalo by sie jeszce do tego skryptu dodac aby jak sie wylosuje liczbe to wyslac maila i zrobic tak aby nie mozna bylo zmienic wybranej liczby?
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Pewnie by się dało, do wysłania maila poszukaj formularza w php i go przerób, a jak mam rozumieć, że nie można zmienić liczby ? Przecież po naciśnięciu w przycisk LOSUJ automatycznie zostanie zrobione przekierowanie, adres IP zostanie zapisany i nikt z tego adresu nie będzie mógł losować znowu.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 28.03.2011 Skąd: Krk Ostrzeżenie: (0%) ![]() ![]() |
Chodzi o to ze gdy ktos wysyla mailem tą liczbę to zeby nie mogł jej w tresci maila zmienic
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Myślę, że wystarczy wysłać plik czyli go wykonać z metodą POST, wtedy wszystkie zmienne przekazywane są wewnątrz skryptu (programu), może i jest na to jakaś metoda... ale zwykły Kowalski nie da rady.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 03:56 |