Domyślnie Excel Office 2000-XP-2003 wyłącza możliwość wykonywania makr innych firm. W przewyższać przejdź do menu Narzędzia>>Makro>>Bezpieczeństwo. Na karcie „ Zaufani wydawcy" Sprawdź pudełko " Zaufaj dostępowi Visual Basic projekt»

Ustawienie Biuro 2007
1) Przycisk „Biuro”

2) Centrum zaufania >> Opcje Centrum bezpieczeństwa


3) Ustawienia makr >> zaznacz pole „Zaufaj dostępowi do model obiektowy projekty VBA"

Raport podsumowujący przygotowywany jest na podstawie aktywnych danych! Tych. Nakładają się na niego wybory „panelu wyboru” (filtry, ale nie grupowania tabel), zakładki „Dochód”, „Wydatki”....

Aby zbudować wykresy w programie Excel, kliknij Wstaw >> Wykres w raporcie podsumowującym, wybierz dane w kreatorze przygotowania wykresu. Przeczytaj więcej w sekcji pomocy MS Office "Tabele przestawne".

Raport gwarantuje pracę w ruski-en wersje systemu Windows.

Raporty w Excelu tworzone są na podstawie szablonów. Wtykowe szablony znajdują się w folderze Mój raport w folderze Home Finance, na ich podstawie możesz tworzyć własne szablony które będą dostępne w programie.

Krótki raport umożliwia wydrukowanie zawartości tabeli z innym mechanizmem obliczania sum.

Wszechstronnym narzędziem raportowania jest prześlij do HTML odpowiednie tabele, z zachowaniem wszystkich ustawień i grup. otwarty Dokument HTML można otworzyć w prawie każdej aplikacji MS Office.

W tym samouczku nauczymy się czegoś takiego jak ukrywanie błędów PHP. Po drodze przyjrzymy się również, jak nie tylko tłumić wyjście tych błędów, ale także jak zapisywać je w pliku dziennika, jak chronić ten plik dziennika, jak ustawić poziom raportowania błędów PHP (jak poważne błędy pokazać, czy wyświetlać ostrzeżenia), dowiedz się, jak ustawić największy rozmiar linii błędów i wyłącz rejestrację powtarzających się błędów.

Czy błędy PHP powinny być ukryte?

Błędy PHP dostarczają wielu różnych informacji, które umożliwiają atakującym zbieranie danych o Twojej witrynie i serwerze. Ale gdyby na to pytanie była jednoznaczna odpowiedź „tak”, to wszystko rozwiązałoby się dodając jedną linię do każdego pliku z programami PHP

raportowanie_błędów(0);

W zasadzie wszystkie błędy, w tym ostrzeżenia (błędy niekrytyczne), powinny być wyświetlane na etapie testowania. Dane wyjściowe błędów i ostrzeżeń pomogą również zrozumieć istniejące (lub możliwe) problemy w środowisku pracy. Nie ukrywaj komunikatów o błędach i ostrzeżeniach w programach przeznaczonych do bezpłatnej dystrybucji, ponieważ w przypadku wystąpienia problemów wszystkie zgłoszenia problemów przez użytkowników będą takie same: „jest biały ekran”, co bardzo utrudni rozgryzienie tego problemu.

Ogólnie na serwerach deweloperskich (na przykład serwer domowy), nie musisz czyścić błędów PHP i ostrzeżeń metodami raportowanie_błędów(0); oraz @ - musisz zbadać ich przyczyny i je skorygować źródło.

Na działających serwerach zdecydowanie zaleca się, aby nie pokazywać wszystkim błędów, które wystąpiły w kodzie PHP, ale zaleca się nie tylko ukrywanie ich wyświetlania, ale także prowadzenie ich logu, zapisywanie ich dla Administrator systemu a dla programisty PHP - z tych logów otrzymają ważna informacja o możliwe problemy witryna/serwer.

Jak włączyć rejestrowanie błędów PHP za pomocą .htaccess

W tej części samouczka pokażę użytkownikom Apache, jak wyłączyć wyświetlanie błędów PHP i ukryć je przed odwiedzającymi, podczas gdy logowanie błędów PHP do dalszej analizy będzie włączone, cała ta konfiguracja zostanie wykonana za pośrednictwem pliku .htaccess.

Generalnie ta metoda ma jeszcze jedną wielką zaletę - zamiast próbować wyłapywać wszystkie błędy i ostrzeżenia PHP, zapiszemy każdy z nich do naszego osobistego logu, dzięki temu nie ucieknie ani jeden błąd, nawet jeśli nie wystąpił Ty i ktoś, kto odwiedza Twoją witrynę w warunkach, które być może nawet nie przyszłyby Ci do głowy podczas modelowania. Dzięki temu istnieje prosty sposób na wdrożenie tej skutecznej strategii.

Ukrywanie błędów PHP przed odwiedzającymi

Jest różne sposoby pomijać błędy PHP za pomocą .htaccess. Można to zrobić, umieszczając następujące dyrektywy .htaccess w pliku httpd.conf Twojej domeny lub w katalogu głównym (lub dowolnym innym katalogu docelowym) pliku .htaccess o następującej treści:

# pomijanie błędów php php_flag display_startup_errors wyłączone php_flag display_errors wyłączone php_flag html_errors wyłączone php_value docref_root 0 php_value docref_ext 0

Spowoduje to, że błędy PHP nie będą już publicznie dostępne w Twojej witrynie. Eliminuje to potencjalne zagrożenia bezpieczeństwa i sprawia, że ​​te brzydkie, niejasne błędy PHP nie zakłócają układu witryny i nie dezorientują odwiedzających. Do tego nie jest wymagana żadna edycja kodu.

Włączanie osobistego rejestrowania błędów PHP

Teraz, gdy ukryliśmy błędy PHP przed opinią publiczną, włączmy rejestrowanie, abyśmy mogli je wyśledzić. Odbywa się to poprzez dodanie następujących dyrektyw .htaccess do pliku httpd.conf Twojej domeny lub do pliku .htaccess znajdującego się w katalogu głównym (lub dowolnym docelowym).

# włączenie Wpisy PHP błędy php_flag log_errors on php_value error_log /home/path/public_html/domain/PHP_errors.log

Aby to zadziałało, musisz edytować ścieżkę w ostatnim wierszu, aby dopasować rzeczywistą lokalizację pliku PHP_errors.log. Oczywiście wraz z tym musisz utworzyć ten plik i w razie potrzeby nadać mu uprawnienia 755 lub 777. Na koniec musisz zabezpieczyć ten plik dziennika, dodając te ostatnie wiersze kodu do pliku .htaccess:

# uniemożliwić dostęp do dziennika błędów PHP

Teraz, gdy wszystko jest na swoim miejscu, sprawdź, czy wszystko działa tak, jak powinno, zgłoś kilka błędów PHP. Możesz także przetestować bezpieczeństwo swojego pliku dziennika, próbując uzyskać do niego dostęp przez przeglądarkę.

Zaawansowana obsługa błędów PHP z .htaccess

Zagłębmy się teraz głębiej w ten temat, dodajmy dodatkowe funkcje i poznajmy różne implementacje. Najpierw przyjrzymy się obsłudze błędów PHP dla środowiska produkcyjnego (np. strony internetowe i aplikacje, które są online, aktywne i publiczne), następnie przyjrzymy się obsłudze błędów dla środowiska deweloperskiego (np. projekty w fazie rozwoju, testowanie, prywatne itp.) .

Kontrola poziomu komunikatów o błędach PHP

Korzystając z .htaccess, można dostosować poziom raportowania błędów do własnych praktycznych potrzeb. Ogólny fort do kontrolowania wskaźnika błędów PHP jest następujący:

# ogólny widok dyrektywy do ustawiania poziomu błędu php php_value error_reporting number

Istnieje kilka wspólnych wartości, które można zastąpić „liczbą”, w tym:

  • Najbardziej kompletny komunikat o błędzie(odpowiada E_ALL) - w tym celu użyj wartości „32767”.
  • Pełny komunikat o błędzie- dla pełnego logowania błędów PHP należy użyć wartości "8191", która będzie zawierała logowanie wszystkiego oprócz powiadomień runtime o użyciu przestarzałych konstrukcji (ostrzeżenia o kodzie, który nie będzie działał w kolejne wersje PHP).
  • Komunikat o błędzie Zend- aby zapisać zarówno krytyczne, jak i niekrytyczne ostrzeżenia w czasie kompilacji generowane przez silnik skryptowy Zend, użyj "192".
  • Podstawowy komunikat o błędzie- rekordowe powiadomienia o czasie wykonywania. Wskaż, że podczas wykonywania skryptu wydarzyło się coś, co może wskazywać na błąd, chociaż może to również wystąpić podczas normalnego wykonywania programu. Aby to zrobić, użyj numeru „8”.
  • Minimalny komunikat o błędzie- Rejestruj tylko krytyczne błędy czasu wykonywania. Są to błędy, których nie można naprawić za pomocą samego skryptu, np. błąd alokacji pamięci itp. Wykonywanie skryptu w tym przypadku jest przerywane. Aby to zrobić, użyj cyfry „1”.

Oczywiście możesz użyć innych wartości („liczby”) dla strojenie jakie błędy chcesz naprawić. Na samym dole kilka wyjaśnień w tej sprawie.

Ustawianie maksymalnego rozmiaru pliku dla rekordów błędów

Używając .htaccess możesz zdefiniować maksymalny rozmiar błędów PHP. Oznacza to kontrolowanie rozmiaru każdego zarejestrowanego błędu, a nie całego pliku jako całości. Składnia jest następująca:

# ogólna dyrektywa określająca maksymalny rozmiar błędu log_errors_max_len integer_number

Tutaj "liczba_całkowita" reprezentuje maksymalny rozmiar każdego zarejestrowanego wiersza błędu w bajtach. Wartość domyślna to „1024” (tj. 1 kilobajt). Aby usunąć ten limit, możesz ustawić wartość na „0”. Zauważ, że ta wartość dotyczy również wyświetlanych błędów, gdy są one włączone (na przykład podczas programowania).

Wyłącz rejestrowanie powtarzających się błędów

Jeśli pracowałeś już z dziennikiem błędów, być może zauważyłeś, że jest w nim wiele podobnych wpisów, które różnią się tylko czasem zdarzenia. Możesz pozbyć się tej nadmiarowości, po prostu dodając te wiersze do pliku htaccess:

# wyłącz logowanie powtarzających się błędów php_flag ignore_repeated_errors na php_flag ignore_repeated_source na

Przy tych ustawieniach powtarzające się błędy nie będą rejestrowane, nawet jeśli występują w różnych źródłach lub adresach. Jeśli chcesz wyłączyć powtarzające się błędy z tylko jednego źródła lub pliku, po prostu skomentuj lub usuń ostatnią linię. I odwrotnie, aby upewnić się, że plik dziennika zdarzeń zawiera wszystkie powtarzające się błędy, zmień obie wartości z na na wyłączony.

Wszystko razem - środowisko pracy

Po omówieniu szczegółów konfiguracji nagrywania błędów PHP, zbierzmy wszystkie nasze nagrania błędów w jednym pliku .htaccess. Te ustawienia są zoptymalizowane pod kątem środowiska pracy.

# обработка ошибок PHP для рабочего сервера php_flag display_startup_errors off php_flag display_errors off php_flag html_errors off php_flag log_errors on php_flag ignore_repeated_errors off php_flag ignore_repeated_source off php_flag report_memleaks on php_flag track_errors on php_value docref_root 0 php_value docref_ext 0 php_value error_log /home/path/public_html/domain/PHP_errors. log php_value raportowanie_błędów -1 php_value log_errors_max_len 0 Zamów zezwolenie, odmów Odmów wszystkim Satisfy All

Jeśli uważasz kod z objaśnieniami za dobry styl, to ten sam kod, ale z komentarzami:

# Obsługa błędów PHP dla serwera produkcyjnego # wyłącz wyświetlanie błędów uruchamiania php_flag display_startup_errors off # wyłącz wyświetlanie wszystkich innych błędów php_flag display_errors off # wyłącz błędy HTML znaczniki php_flag html_errors off # włącz rejestrowanie błędów php_flag log_errors on # włącz ignorowanie powtarzających się błędów php_flag ignore_repeated_errors off # wyłącz ignorowanie błędów z unikalnych źródeł php_flag ignore_repeated_source off # włącz rejestrowanie wycieków pamięci php_flag report_memleaks on # zapisz większość ostatnie błędy via php_errormsg php_flag track_errors on # wyłącz odnośniki do błędów formatowania php_value docref_root 0 # wyłącz odnośniki do błędów formatowania php_value docref_ext 0 # podaj ścieżkę do pliku dziennika błędów php php_value error_log /home/path/public_html/domain/PHP_errors.log # podaj wszystkie pozycje php błędy php_value raportowanie_błędów -1 # wyłącz maksymalną długość łańcucha błędów php_value log_errors_max_len 0 # chroń plik dziennika błędów przed publicznym dostępem Zamów zezwolenie, odmów Odmów wszystkim Satisfy All

Powyższa strategia jest idealna dla serwera publicznego w środowisku produkcyjnym. Wszystkie błędy są ukryte przed wścibskimi oczami, podczas gdy są starannie gromadzone dla administratorów i programistów. Oczywiście możesz dostosować powyższe dyrektywy do swoich potrzeb. Przyjrzyjmy się teraz strategii obsługi błędów dla środowiska programistycznego.

Wszystko razem - środowisko programistyczne

Podczas tworzenia lub debugowania programu wygodniej jest śledzić błędy PHP w czasie rzeczywistym, bezpośrednio w przeglądarce. Przykładowy plik .htaccess z odpowiednimi ustawieniami dla środowiska programistycznego pokazano poniżej:

# работа с ошибками PHP для серверов разработчиков php_flag display_startup_errors on php_flag display_errors on php_flag html_errors on php_flag log_errors on php_flag ignore_repeated_errors off php_flag ignore_repeated_source off php_flag report_memleaks on php_flag track_errors on php_value docref_root 0 php_value docref_ext 0 php_value error_log /home/path/public_html/domain/PHP_errors .log php_value raportowanie_błędów -1 php_value log_errors_max_len 0 Zamów zezwolenie, odmów Odmów wszystkim Satisfy All

Nie będziemy wyjaśniać każdej linii - możesz zobaczyć odpowiednie wyjaśnienia nieco wyżej.

Poradnik

Aby znaleźć bezwzględną ścieżkę do pliku logu na serwerze za pomocą metod PHP (dla dyrektywy php_value error_log)

echo dirname(__FILE__);

Przykład .htaccess dla .

php_flag display_startup_errors on php_flag display_errors on php_flag html_errors on php_flag log_errors on php_flag ignore_repeated_errors off php_flag ignore_repeated_source off php_flag report_memleaks on php_flag track_errors on php_value docref_root 0 php_value docref_ext 0 php_value error_log C:ServerdatahtdocsPHP_errors.log php_value error_reporting -1 php_value log_errors_max_len 0 Zamów zezwolenie, odmów Odmów wszystkim Satisfy All

Nie działa

Ta metoda nie ma zastosowania na hostingach, na których PHP działa jako CGI(możliwe rozwiązania zostaną pokazane w następnym artykule).

-1 i ~0, aby wyświetlić wszystkie błędy PHP

W dyrektywie php_value raportowanie_błędów aby wyświetlić wszystkie błędy, możesz określić -1 lub ~0 . Tych. linie wyglądają tak:

php_value raportowanie_błędów -1 php_value raportowanie_błędów ~0

Co więcej, jest to druga metoda, która jest uważana za bardziej poprawną, czyli używanie ~0 .

Predefiniowane stałe i bitowe operacje raportowania błędów

  • Predefiniowane stałe
  • Operatory bitowe

Na przykład, jeśli chcemy TYLKO pisać następujące błędy E_ERROR (wartość 1), E_WARNING (wartość 2), E_CORE_ERROR (wartość 16), następnie w celu uzyskania odpowiedniej wartości liczbowej należałoby przekonwertować te wartości na liczby binarne i wykonać odpowiednie operacje bitowe, a następnie wynikowy Liczba binarna konwertuj na dziesiętny. Jednak tę operację można uprościć - wystarczy dodać wartości liczb dziesiętnych. Tych. w naszym przypadku jest to 1+2+16=19

php_value raportowanie_błędów 19

wyświetli błędy E_ERROR, E_WARNING i E_CORE_ERROR.

Przykład bezwzględnej ścieżki do pliku dziennika na hostingu Hostland (dla dyrektywy php_value error_log)

/home/host900456/strona internetowa/blogs/htdocs/www/PHP_errors.log

Zamiast host900456 musisz wejść na swoje konto.

Zamiast stronie internetowej musisz określić swoją domenę.

Swoją drogą dobry hosting, który prowadzi właśnie tę stronę. Zalecana!

Artykuł opisuje funkcjonalność dostępną w PHP (odpowiednią dla 5.3.x) do obsługi wszystkich typów błędów, w tym błędów interpretacji kodu (E_ERROR, E_PARSE, E_WARNING, itp.). Przetwarzanie to pomoże Ci zarządzać wyświetlaniem strony w przypadku takich problemów. Artykuł zawiera wiele opisów i przykładów roboczych (architektury), aby od razu wykorzystać go w swoim Produkt oprogramowania. W końcu trochę popsuli witrynę, no trzeba o tym poinformować wyszukiwarkę z nagłówkiem 4xx lub 5xx i zabawić użytkownika, zamiast wracać biały ekran(lub gorzej niż ekran ze świętymi informacjami dla hakerów) z odpowiedzią 200 Ok.

Pomysł na napisanie tego tematu zrodził się, gdy odważnie zadałem 2 pytania:

  • Pytanie o
  • Pytanie o
Zgodnie z moją karmą i dodawaniem do ulubionych, zdałem sobie sprawę, że okazali się interesujący dla społeczności PHP habra. Z tego powodu postanowiłem wydać rozwiązania tych problemów w formie artykułu, aby łatwiej i bardziej kompleksowo ułatwić ludziom i wyszukiwarkom znalezienie potrzebnych im informacji.

Jeśli jesteś zainteresowany, to szczegóły są pod cięciem...

Powody użycia

Użytkownik/wyszukiwarka musi jednoznacznie odpowiedzieć, że na serwerze występują problemy. Bez użycia pewnego Feng Shui jest to dość trudne do osiągnięcia, a czasem niemożliwe. Tutaj rzucam światło na to wszystko, no cóż, zostawiam notatkę dla siebie, ponieważ tydzień temu nie wiedziałem, co robić i prawdopodobnie wielu początkujących również będzie zniechęconych.

Opisy funkcji

Ta funkcjonalność jest dostępna w PHP do obsługi błędów i sterowania wyjściem. Oto opis ich zalet i wad. Nie przekażę dokumentacji, tylko odwołam się do jej stron i opiszę swoją opinię. Wszystko, co zostanie podane, to tylko mały ułamek, linki do odpowiednich sekcji dokumentacji podam na końcu artykułu. Spotkajmy się więc:

- Kontrola błędów niekrytycznych: notatki, ostrzeżenia, błędy niestandardowe. W ogóle wszystko, co nie kończy nieprawidłowo interpretacji.
set_error_handler - Zestawy określony przez użytkownika obsługa błędów.
Jest to potrzebne do zapisania wszystkich takich błędów w logu. Jeśli nie jest ustawiony, to nie jest zapisywany w logu, ale zawsze chcę wiedzieć, pod jakimi sytuacjami bojowymi można wywoływać komentarze i ostrzeżenia. Oznacza to, że pozwala użytkownikowi automatycznie przetestować produkt i nawet tego nie zauważy.
Jeśli funkcja nie jest ustawiona, to PHP tylko próbuje wyświetlać dane na ekranie, a jeśli nie jest to podane, to nie ma żadnych oznak życia od tego typu błędów.

- Kontrola, wyjątki: jest błędem typu E_ERROR.
set_exception_handler - Ustawia niestandardową obsługę wyjątków
Cóż, nie wiem, po co w ogóle został wymyślony, skoro jest to, co opisano poniżej i obsługuje tylko błąd typu Exception. Więc zgłaszam, że po prostu istnieje. Ona przechwytuje błąd krytyczny„wyjątek” i pozwala coś z tym zrobić. Tak czy inaczej, scenariusz się kończy. Jej praca domyślnie mi osobiście wystarcza (pisze do logów, próbuje wyświetlić). W ogóle bym tego nie przedefiniowywał, inaczej musiałbym wpisywać do logów o wyjątku, który się wydarzył.

- Funkcje sterowania wyjściami: Tutaj opiszę 3 funkcje, które powinieneś znać z różnych powodów. Na przykład dla lub dla problemów z danymi wyjściowymi nagłówka. W naszym przypadku musimy wyświetlić nagłówki błędów.

Semestry
Istnieje plik z kodem, który uruchamia się jako pierwszy lub przed kodem, w którym może wystąpić błąd, a ten plik i wszystkie pliki przed nim są w 100% debugowane bez możliwości wystąpienia błędu. Oto warunek, który byłby łatwiejszy - bez błędów, dopóki nie przejdą wszystkie rejestracje powyższych funkcji. Ten plik opisuje te metody kontroli błędów w kompleksie. Bufor jest kontrolowany, jeśli wystąpi błąd, zresetuj bufor i wyświetl błąd.
Kod z komentarzami
Dodam od siebie, że nie testowałem kodu, ponieważ jest to uproszczony schemat tego co mam w kodzie, komentarze są akceptowane

Większość funkcji dostępnych w momencie premiery Skaner AI-BOLIT w trybie wiersz poleceń. Można to zrobić zarówno w systemie Windows/Unix/Mac OS X, jak i bezpośrednio na hostingu, jeśli masz dostęp SSH, a hosting nie ogranicza poważnie zużywanych zasobów procesora.

Należy pamiętać, że do uruchomienia skanera wymagana jest konsolowa wersja PHP 5.3 lub nowsza. Wersja 5.2 będzie zawierała błąd "Parse error: błąd składni, nieoczekiwany T_STRING, oczekiwany T_OLD_FUNCTION lub T_FUNCTION lub T_VAR lub ")" w /home/XXX/ai-bolit.php on line...". Sprawdzać obecna wersja polecenie php -v

Informacje o parametrach wiersza poleceń skanera AI-BOLIT

Pokaż pomoc

php ai-bolit.php --pomoc

php ai-bolit.php --skip=jpg,png,gif,jpeg,JPG,PNG,GIF,bmp,xml,zip,rar,css,avi,mov

Skanuj tylko określone rozszerzenia

php ai-bolit.php --scan=php,php5,pht,phtml,pl,cgi,htaccess,podejrzewany,tpl

Przygotuj plik kwarantanny do wysłania do specjalistów ds. bezpieczeństwa. Archiwum AI-QUARANTINE-XXXX.zip zostanie utworzone z hasłem.

php ai-bolit.php --kwarantanna

Uruchom skaner w trybie „paranoidalnym” (zalecane do uzyskania najbardziej szczegółowego raportu)

php ai-bolit.php --mode=2

php ai-bolit.php --mode=1

Sprawdź jeden plik "pms.db" pod kątem złośliwego kodu

php ai-bolit.php-jpms.db

Uruchom skaner z pamięcią o pojemności 512 MB

php ai-bolit.php --pamięć=512M

Ustaw maksymalny rozmiar skanowanego pliku na 900Kb

php ai-bolit.php --size=900K

Wstrzymaj 500 ms między plikami podczas skanowania (aby zmniejszyć obciążenie)

php ai-bolit.php --opóźnienie=500

Wyślij raport ze skanowania e-mailem [e-mail chroniony]

php ai-bolit.php [e-mail chroniony]

Utwórz raport w /home/scanned/report_site1.html

php ai-bolit.php --report=/home/scanned/raport_site1.html

Zeskanuj katalog /home/s/site1/public_html/ (raport zostanie utworzony domyślnie w tym katalogu, jeśli opcja --report=report_file nie jest ustawiona)

php ai-bolit.php --path=/home/s/site1/public_html/

Wykonaj polecenie po zakończeniu skanowania.

php ai-bolit.php --cmd="~/postprocess.sh"

Uzyskaj raport w postaci zwykłego tekstu o nazwie site1.txt

php ai-bolit.php-lsite1.txt

Możesz łączyć połączenia, na przykład

php ai-bolit.php --size=300K --path=/home/s/site1/public_html/ --mode=2 --scan=php,phtml,pht,php5,pl,cgi,podejrzewany

Łącząc wywołanie skanera AI-BOLIT z innymi poleceniami uniksowymi, możesz na przykład wykonać wsadowe sprawdzanie witryn. Poniżej znajduje się przykład sprawdzania kilku witryn hostowanych w ramach konta. Na przykład, jeśli witryny znajdują się w katalogu /var/www/user1/data/www, polecenie uruchomienia skanera będzie

znajdź /var/www/user1/data/www -maxdepth 1 -type d -exec php ai-bolit.php --path=() --mode=2 \;

Dodając opcję --report, możesz kontrolować katalog, w którym będą generowane raporty skanowania.

php lista parametrów ai-bolit.php ... --eng

Przełącz interfejs raportu na angielski. Ten parametr musi być ostatni.

Integracja z innymi usługami i panelem hostingowym

php ai-bolit.php --json_report=/ścieżka/plik.json

Generuj raport w formacie json

php ai-bolit.php --progress=/ścieżka/progress.json

Zapisz status czeku do pliku w formacie json. Ten plik będzie zawierać uporządkowane dane w formacie json: bieżący plik skanowania, ile plików zostało zeskanowanych, ile plików pozostało do skanowania, procent skanowania, czas do zakończenia skanowania. Za pomocą tego mechanizmu można wyświetlić pasek postępu oraz dane o sprawdzanych plikach w panelu. Po zakończeniu skanowania plik jest automatycznie usuwany.

php ai-bolit.php --handler=/ścieżka/hander.php

Zewnętrzny program obsługi zdarzeń. Możesz dodać własne programy obsługi dla rozpoczęcia/zatrzymania skanowania/postępu skanowania/błędów skanowania. Przykładowy plik można znaleźć w archiwum skanera, w katalogu tools/handler.php. Na przykład po zakończeniu skanowania możesz coś zrobić z plikiem raportu (wysłać go pocztą, spakować do archiwum itp.).

Z tego artykułu dowiesz się, jak skonfigurować autoryzację w interfejsie Analytics Reporting API w wersji 4.

Notatka. Cel tych szybkie przewodniki– pomóż użytkownikowi wykonać za pomocą . Ponieważ te biblioteki są stale aktualizowane, informacje o najnowsze zmiany może nie być tutaj. Jeśli nie znalazłeś potrzebnych informacji, sprawdź i.

1. Włącz API

Zanim zaczniesz korzystać z interfejsu API raportowania Analytics w wersji 4, utwórz projekt w konsoli interfejsu API Google, włącz interfejs API i zarejestruj swoje dane logowania.

Utwórz poświadczenia

Notatka.Kliknij na żądanie Utwórz nowy klucz prywatny. Dla parametru Typ klucza Wybierz wartość JSON a następnie zapisz wygenerowany klucz jako client_secrets.json . Będziesz go później potrzebować.
  1. Otwarty . W razie potrzeby wybierz projekt.
  2. Kliknij Utwórz konto usługi.
  3. Wpisz nazwę konta i wybierz Utwórz nowy klucz prywatny. Następnie naciśnij przycisk Ratować.

System wygeneruje nową parę kluczy (publiczny i prywatny), która zostanie zapisana na Twoim komputerze. Ta kopia jest jedyną i Twoim obowiązkiem jest jej utrzymanie.

Dodaj konto usługi do Google Analytics

Nowe konto usługi będzie miało adres E-mail tego typu:

[e-mail chroniony]

Użyj tego adresu, aby dodać użytkownika do widoku Google Analytics, do którego chcesz uzyskać dostęp za pośrednictwem interfejsu API. Potrzebujesz tylko uprawnienia Odczyt i analiza, aby wykonać zadania opisane w tym przewodniku.

2. Zainstaluj bibliotekę klienta

kompozytor wymaga google/apiclienta: ^ 2,0

3. Dostosuj przykład

Musisz utworzyć plik HelloAnalytics.php z kodem dla tego przykładu.

  • Skopiuj lub wklej poniższy kod źródłowy, a następnie dodaj go do pliku HelloAnalytics.php.
  • Przenieś pobrany klucz service-account-credentials.json do tego samego katalogu, co przykładowy kod.
  • Zmień wartość VIEW_ID. Użyj narzędzia Eksplorator kont, aby znaleźć to ustawienie.

WitajAnalytics.php

setApplicationName("Hello Analytics Reporting"); $client->setAuthConfig($KEY_FILE_LOCATION); $client->setScopes(["https://www.googleapis.com/auth/analytics.readonly"]); $analytics = new Google_Service_AnalyticsReporting($client); zwróć $analitykę; ) /** * Wysyła zapytanie do interfejsu Analytics Reporting API w wersji 4. * * @param service Autoryzowany obiekt usługi Analytics Reporting API V4. * @return Odpowiedź interfejsu Analytics Reporting API V4. */ function getReport($analytics) ( // Zastąp swoim identyfikatorem widoku, na przykład XXXX. $VIEW_ID = " "; // Utwórz obiekt DateRange. $dateRange = new Google_Service_AnalyticsReporting_DateRange(); $dateRange->setStartDate("7daysAgo"); $dateRange->setEndDate("today"); // Utwórz obiekt Metryki. $sessions = new Google_Service_AnalyticsReporting_Metric(); $sessions->setExpression("ga:sessions"); $sessions->setAlias("sessions"); // Utwórz obiekt ReportRequest. $request = new Google_Service_AnalyticsReporting_ReportRequest(); $request->setViewId($ VIEW_ID); $request->setDateRanges($dateRange); $request->setMetrics(array($sessions)); $body = new Google_Service_AnalyticsReporting_GetReportsRequest(); $body->setReportRequests(array($request)); return $analytics ->reports->batchGet($body); ) /** * Analizuje i drukuje odpowiedź interfejsu Analytics Reporting API V4. * * @param Odpowiedź interfejsu Analytics Reporting API V4. */ function printResults($reports) ( for ($reportIndex) = 0;$indeks raportu< count($reports); $reportIndex++) { $report = $reports[ $reportIndex ]; $header = $report->pobierz nagłówekkolumny(); $dimensionHeaders = $header->getDimensions(); $metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries(); $wiersze = $raport->getData()->getRows(); for ($rowIndex = 0; $rowIndex< count($rows); $rowIndex++) { $row = $rows[ $rowIndex ]; $dimensions = $row->pobierzWymiary(); $metryki = $row->getMetrics(); dla ($i = 0; $i< count($dimensionHeaders) && $i < count($dimensions); $i++) { print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n"); } for ($j = 0; $j < count($metrics); $j++) { $values = $metrics[$j]->pobierzWartości(); dla ($k = 0; $k< count($values); $k++) { $entry = $metricHeaders[$k]; print($entry->pobierzNazwę() . „:” . $wartości[$k] . "\n"); ) ) ) )

4. Uruchom przykład

Uruchom przykład, używając następującego kodu:

WitajAnalytics.php

Po wykonaniu wszystkich kroków na ekranie zostanie wyświetlona liczba sesji w wybranym widoku w ciągu ostatnich siedmiu dni.

Notatka. Aby pomyślnie uruchomić przykład, potrzebujesz co najmniej jednego zasobu i jednego widoku Google Analytics.