Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

14 Stron V   1 2 3 > » 

kreatiff
Napisane: 7.11.2023, 20:50:43





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Ja bym zaczął od sprawdzenia logów czy aby jakieś spamboty nie DDoSują za bardzo. Generowanie strony dla 99% botów można zablokować (jeszcze zanim odwiedziny dojdą w ogóle do PHP) bez jakichkolwiek konsekwencji dla strony pod kątem jej widoczności w wyszukiwarkach. Ba, wyjdzie to na jej plus.
Albo możesz tez spróbować przepuścić cały ruch przez Cloudflare. On sam powinien nieco przetrzebić dziwne wejścia. Ale z tym już ostrożniej.
  Forum: Serwery WWW · Podgląd postu: #1262065 · Odpowiedzi: 3 · Wyświetleń: 4 548

kreatiff
Napisane: 16.11.2023, 12:59:47





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

To o zwykłe logi wejść na stronę chodzi. Popatrz czy tam jakiś bot (czy kilka) nie wchodzi na stronę co np. sekundę, a którego zablokowanie w ogóle nie zaszkodzi stronie (np. Rogerbot, MJ12bot czy inny ahrefs bot - to są te najbardziej znane, ale innych są niezliczone ilości). Odwiedziny takich botów tak naprawdę nie przynoszą żadnych korzyści, a jedynie generują koszty. Tzn. jakieś tam statystyki z serwisów, które skanują Internet mogą być wyznacznikiem różnych rzeczy dla różnych osób, ale to jest nieważne, gdy strona jest przez takie boty duszona.
  Forum: Serwery WWW · Podgląd postu: #1262094 · Odpowiedzi: 3 · Wyświetleń: 4 548

kreatiff
Napisane: 14.10.2023, 11:29:57





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Poszukaj po słowie "target". Może usuwany jest po prostu cały target, bez względu na to, co w nim się znajduje.
  Forum: Przedszkole · Podgląd postu: #1261934 · Odpowiedzi: 3 · Wyświetleń: 245

kreatiff
Napisane: 25.06.2023, 12:04:03





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

W "else" drugiego if'a możesz dodać warunek z mime_content_type na sprawdzanie czy to obrazek z tych dozwolonych.
Albo (prawdopodobnie to rozwiązanie jest szybsze, ale kosztem 100% pewności), czy rozszerzenie pliku jest jednym z tych, które są dopuszczone, wykorzystując np. pathinfo($plik)['extension']
  Forum: Przedszkole · Podgląd postu: #1261656 · Odpowiedzi: 2 · Wyświetleń: 229

kreatiff
Napisane: 12.02.2023, 10:44:12





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Tak na chama: w send.php zrób include/require tych plików przedzielone czekaniem:
  1. sleep(5);
Ale jeśli masz tego dużo, to może się zdarzyć, że minie limit czasu na wykonanie skryptu i ten się wywoła wszystkich „podskryptów”. Wówczas potrzebne będzie jakieś inne rozwiązanie.
  Forum: Przedszkole · Podgląd postu: #1261122 · Odpowiedzi: 2 · Wyświetleń: 223

kreatiff
Napisane: 30.01.2023, 12:02:55





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Słuszna uwaga od trueblue.
Jeśli taka sytuacja zachodzi, to trzeba będzie doprecyzować wyrażenie, by np. wycinało wszystko co jest po pierwszej spacji lub literze. Zależy jakie wartości mogą pojawić się w 'value'.
  Forum: PHP · Podgląd postu: #1261030 · Odpowiedzi: 20 · Wyświetleń: 2 315

kreatiff
Napisane: 30.01.2023, 10:22:23





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Spróbuj tak pokombinować (chodzi o wyciąganie tych danych z tablicy):
  1. $x = array_map(fn($i) => preg_replace('#[^0-9\,\.]#', '', $i), array_column($data, 'value'));
  Forum: PHP · Podgląd postu: #1261026 · Odpowiedzi: 20 · Wyświetleń: 2 315

kreatiff
Napisane: 17.01.2023, 16:10:02





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Już to pewnie zdążyłeś załatwić, ale jeszcze dodam coś innego dla zainteresowanych.

base 62 posiada wszystkie cyfry oraz małe i duże litery ASCII.
Dla pięcioznakowych id złożonych z tych znaków, ich kombinacji jest w sumie 62^5 = 916132832

Losuj dowolną liczbę od 0 czy 1 do tych 900+ milionów i zamieniaj ją na base 62:
  1. gmp_strval(gmp_init(rand(0, 62*62*62*62*62), 10), 62);

Jeszcze można dodawać zera z przodu, gdyby wylosowało niską liczbę i znaków było mniej niż 5.
Tym sposobem możesz też zamieniać istniejące id na znaki, ale naturalnie w tym wypadku pojawi się zauważalny wzór w id, jeśli były one po kolei.
  Forum: Przedszkole · Podgląd postu: #1260914 · Odpowiedzi: 7 · Wyświetleń: 367

kreatiff
Napisane: 24.09.2022, 14:58:30





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

To wygląda na problem z namespace.
Sprawdź 1. i 2. komentarz: https://www.php.net/manual/en/simplexmlelement.xpath.php

A samo zapytanie xpath można skrócić do "//ipAddress".
  Forum: PHP · Podgląd postu: #1259872 · Odpowiedzi: 3 · Wyświetleń: 656

kreatiff
Napisane: 5.09.2022, 15:14:39





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Tu ktoś kombinował z liczeniem unikalnych znaków w stringu:
https://stackoverflow.com/questions/2996728...ers-in-a-string
Pozostaje to zmodyfikować, by wybierało tylko te, gdzie wynik da mniej niż 4.
  Forum: MySQL · Podgląd postu: #1259800 · Odpowiedzi: 2 · Wyświetleń: 2 100

kreatiff
Napisane: 29.08.2022, 13:09:14





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

https://www.ct8.pl - darmowy hosting od mydevil.net.
  Forum: Serwery WWW · Podgląd postu: #1259762 · Odpowiedzi: 5 · Wyświetleń: 4 362

kreatiff
Napisane: 12.02.2022, 20:49:47





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

A no tak, zamień jeszcze miejscami warunki. Pokombinuj coś w tym stylu:

RewriteRule ^/item.php?id=([^/]{14})$ /item/$1 [R=301,L]

Dodaj to jako osobną linię w .htaccess przed tym co w pierwszym poście.

PS testuj sobie to z przekierowaniem 302, ono się nie keszuje w przeglądarce. Jak będzie już działało, to wówczas zmień na 301.
  Forum: Optymalizacja i pozycjonowanie stron - SEO · Podgląd postu: #1258047 · Odpowiedzi: 17 · Wyświetleń: 3 651

kreatiff
Napisane: 11.02.2022, 23:24:58





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Powinno być 301. Dodaj przy L jeszcze R=301, czyli [R=301,L],
A w samym kodzie strony poprzerabiaj tak, by linki wewnętrzne pokazywały tylko te nowe adresy.
  Forum: Optymalizacja i pozycjonowanie stron - SEO · Podgląd postu: #1258040 · Odpowiedzi: 17 · Wyświetleń: 3 651

kreatiff
Napisane: 25.01.2021, 14:42:59





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Ja bym rozbił obie liczby na tablicę cyfr i teraz:
1. array_intersect() wskaże tablicę z cyframi w obu liczbach, wystarczy policzyć ile ich jest.
2. pięciokrotna pętla, a w środku licznik wzrastający gdy obie cyfry na każdej kolejne pozycji z obu tablic są takie same.

edycja: ja się sugerowałem, że to ma działać tak jak taka stara gra, gdzie odgaduje się jakiś kod w oparciu o wskazówki, które się dostaje odnośnie pozycji cyfr, które zgadujemy. Moje rozwiązanie nie wskaże Ci np. drugiej ósemki w zgadywanej kombinacji jako prawidłowej, gdy w kodzie do zgadnięcia jest tylko jedna ósemka. Rozwiązanie nade mną wskaże obie ósemki jako dostępne w kodzie.
Takie drobne różnice, które już sam musisz uznać czy zasadne.
  Forum: PHP · Podgląd postu: #1254715 · Odpowiedzi: 4 · Wyświetleń: 532

kreatiff
Napisane: 10.12.2020, 20:35:45





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Brakuje domknięcia nawiasu w linii 5. I jeśli korzystasz z klamr w foreach, to nie korzystasz z endforeach. Albo nie korzystaj z klamr, gdy korzystasz z foreach i endforeach.
  Forum: Bazy danych · Podgląd postu: #1254072 · Odpowiedzi: 1 · Wyświetleń: 4 803

kreatiff
Napisane: 5.12.2020, 16:51:01





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Zmień nazwę pliku z ssd.php na index.php. Albo zrób odpowiedni wpis w .htaccess, by wyświetlało zawartość ssd.php pod adresem głównym.
  Forum: Apache · Podgląd postu: #1253984 · Odpowiedzi: 2 · Wyświetleń: 7 532

kreatiff
Napisane: 28.10.2020, 21:50:21





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

No to będzie to bardziej skomplikowana pętla, z której od razu najlepiej przypisywać do zmiennych konkretne elementy i je bindować w zapytaniu do bazy.
Tutaj ogólny zarys tego jak ja to widzę tak na szybko:
  1. $xml = simplexml_load_file("plik.xml");
  2. foreach ($xml->xpath('//o') as $child) {
  3.  
  4. // strybuty elementu <o>
  5. foreach ($child->attributes() as $name => $attribute) {
  6. echo "$name: $attribute<br>";
  7. }
  8.  
  9. // kategoria
  10. echo 'cat: ' . $child->cat . '<br>';
  11.  
  12. // obrazki
  13. echo 'imgs/main: ' . $child->xpath('imgs/main')[0]->attributes()['url'] . '<br>';
  14. foreach ($child->xpath('imgs/i') as $img) {
  15. echo 'imgs/i: ' . $img->attributes()['url'] . '<br>';
  16. }
  17.  
  18. // i reszta węzłów analogicznie jak na powyższych przykładach
  19. }
  Forum: XML · Podgląd postu: #1253434 · Odpowiedzi: 4 · Wyświetleń: 5 356

kreatiff
Napisane: 28.10.2020, 14:29:26





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Co to znaczy nie działa?
Kod PHP, który wkleiłeś jest niekompletny. Założyłem, że już ładujesz ten plik do obiektu klasy SimpleXMLElement (na to wskazuje metoda children() oraz attributes() wykorzystane w pętli).
Napisz konkretnie co interesuje Ciebie z tego pliku (jakie dane chcesz sobie wydrukować na ekranie), bo pętla wskazuje, że wszystko, a pytasz tylko o producenta.
Chodzi o wyświetlenie tylko nazwy producenta dla konkretnego id?

PS usuń link do pliku, bo ci go wyszukiwarki zaindeksują niepotrzebnie.
  Forum: XML · Podgląd postu: #1253431 · Odpowiedzi: 4 · Wyświetleń: 5 356

kreatiff
Napisane: 28.10.2020, 13:37:59





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Nie wiem co z tą pętlą (wygląda mi jakoś dziwnie, dużo odwołań do nieistniejących węzłów, brak sprawdzania, czy dany węzeł ma dzieci czy nie, tylko od razu foreach), ale by dobrać się do tego, co chcesz, to wystarczy:
  1. echo $child->attrs[0]->a[0];

Albo skorzystać z xpath, gdy kolejność węzłów może nie być zawsze taka sama:
  1. echo (string)$child->xpath("attrs/a[@name = 'Producent']")[0];
  Forum: XML · Podgląd postu: #1253428 · Odpowiedzi: 4 · Wyświetleń: 5 356

kreatiff
Napisane: 7.10.2020, 11:07:06





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Najprościej bez skryptów to będzie chyba dodanie UNIQUE dla pola PESEL w bazie danych i ustawienie w opcjach PHPMyAdmin by ignorował importowanie danego rekordu gdy napotka zduplikowany indeks.
Ale, jeśli tylko przy tym ręcznym dodawaniu ma ingorować duplikaty, a one same mogą istnieć w bazie, to ta opcja odpada.
  Forum: Przedszkole · Podgląd postu: #1253179 · Odpowiedzi: 8 · Wyświetleń: 485

kreatiff
Napisane: 23.09.2020, 08:02:18





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Jeśli chodzi o to, że ucina Ci wyraz przed polską literą, to do swojego wyrażenia regularnego dodaj modyfikator u.
  Forum: Przedszkole · Podgląd postu: #1252956 · Odpowiedzi: 2 · Wyświetleń: 273

kreatiff
Napisane: 10.09.2020, 19:11:37





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Funkcja session_unregister() została usunięta z PHP wraz z wersją PHP 5.4.0.
Jeśli na nowym hostingu nie idzie ustawić starszej wersji to skrypt nie będzie działał.

Swoją drogą to musi być jakiś stary skrypt. Nie ma jego aktualnej wersji co działa na PHP 7?
Albo najlepiej poszukaj czegoś nowego, bo z tym co jest nie widzę przyszłości (tym bardziej za 000webhost, który pewnie zablokuje albo strasznie zwolni Ci stronę jak tylko wejdą na nią 3 osoby na raz).
  Forum: Przedszkole · Podgląd postu: #1252792 · Odpowiedzi: 15 · Wyświetleń: 1 100

kreatiff
Napisane: 19.08.2020, 09:56:16





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Jeśli już obrabiasz sam tekst (bez znaczników html), to regex będzie w porządku (w zasadzie będzie jedynym sensownym rozwiązaniem). Ale jeśli zmieniasz ten tekst w np. całym kodzie strony, to już najpierw warto dobrać się do kodu html za pomocą np. DOMDocument i w nim szukać tego konkretnego węzła z tekstem i po znalezieniu zmieniać jego zawartość.
Tu masz coś, co może zadziałać, dopasuj wedle potrzeby. Nie przetwarzaj tym całego kodu strony, bo może się zrobić galimatias. Porób sobie var_dump() w różnych miejscach, gdy nie jest jasne co się wzięło skąd.
  1. $text = 'Jakiś tam tekst z linkiem <a href="http://link.do.wideo/wideo.mp4" target="_blank">http://link.do.wideo/wideo.mp4</a> - koniec';
  2. $replace = function(string $name) : string
  3. {
  4. return '
  5. <div class="video">
  6. <video class="video" controls poster="./vid/' . $name . '.jpg">
  7. <source src="./vid/' . $name . '.mp4" type="video/mp4">
  8. </video>
  9. </div>
  10. ';
  11.  
  12. };
  13.  
  14. preg_match_all('#(https?://.*/(.*?)\.mp4)#', $text, $matches);
  15.  
  16. foreach ($matches[1] as $k => $match) {
  17. $text = str_replace($match, $replace($matches[2][$k]), $text);
  18. }
  Forum: Przedszkole · Podgląd postu: #1252498 · Odpowiedzi: 5 · Wyświetleń: 321

kreatiff
Napisane: 23.07.2020, 20:09:43





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

Zmień linię 7. na:
  1. $output .= '<a href="#">Your credit balance is '.$result["coins_balanced"].' please recharge your account</a>';

W miejsce # wstaw adres, który ma się otworzyć po kliknięciu. Jak ma się otworzyć na nowej karcie, do dodaj jeszcze target="_blank" jako atrybut: <a href="#" target="_blank">.
  Forum: Przedszkole · Podgląd postu: #1252221 · Odpowiedzi: 2 · Wyświetleń: 397

kreatiff
Napisane: 19.07.2020, 14:27:25





Grupa: Zarejestrowani
Postów: 324
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----

A czy te obrazki, które mają 0kb istnieją? Może ich po prostu nie ma.

Jeśli obrazków nie pobiera, bo odpala się jakieś zabezpieczenie przed floodowaniem, to możesz spowolnić wykonywanie skryptu prostym:
  1. sleep($x);
dodanym pod koniec pętli, gdzie $x to liczba sekund (int), które ma skrypt zaczekać po pobraniu pierwszego obrazka. Możesz tam dać nawet np.
  1. sleep(random_int(3,10));
, by czekał sobie losowo.
A jak sekundy to za duże interwały, to możesz skorzystać z usleep();.
  Forum: Przedszkole · Podgląd postu: #1252161 · Odpowiedzi: 2 · Wyświetleń: 361

14 Stron V   1 2 3 > » 

New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 23.05.2024 - 16:48