Varsayılan olarak, Excel Office 2000-XP-2003, üçüncü taraf makroları yürütme özelliğini devre dışı bırakır. AT mükemmel menüye git Araçlar>>Makro>>Güvenlik. sekmesinde " Güvenilir Yayıncılar" Kutuyu kontrol et " Güven Erişimi Visual Basic proje»

Ayar ofis 2007
1) "Ofis" düğmesi

2) Güven Merkezi >> Güvenlik Merkezi Seçenekleri


3) Makro ayarları >> "Erişime güvenin" kutusunu işaretleyin. nesne modeli VBA projeleri"

Özet rapor aktif verilere göre hazırlanır! Şunlar. “Seçim paneli” seçimleri (filtreler, ancak tablo gruplamaları değil), “Gelir”, “Gider” sekmeleri üzerine bindirilir....

Excel'de grafikler oluşturmak için özet raporda Ekle >> Grafik'e tıklayın, grafik hazırlama sihirbazındaki verileri seçin. Daha fazlasını MS Office yardım bölümündeki "Özet tablolar" bölümünde okuyun.

Raporun çalışması garanti edilir rus-tr Windows sürümleri.

Excel'de raporlar şablonlara göre oluşturulur. Takılabilir şablonlar klasörde bulunur Benim raporum Home Finance klasöründe bunlara dayalı olarak oluşturabilirsiniz. kendi şablonları bu programda mevcut olacak.

Kısa rapor toplamları hesaplamak için farklı bir mekanizma ile bir tablonun içeriğini yazdırmanıza olanak tanır.

Çok yönlü bir raporlama aracı HTML'ye yükle tüm ayarları ve gruplamaları korurken ilgili tablolar. Açık HTML belgesi hemen hemen her MS Office uygulamasında açılabilir.

Bu derste PHP hatalarını gizleme gibi bir şeyi öğreneceğiz. Yol boyunca, sadece bu hataların çıktısını nasıl bastıracağımıza değil, aynı zamanda bir günlük dosyasına nasıl yazılacağına, bu günlük dosyasının nasıl korunacağına, PHP hata raporlama seviyesinin nasıl ayarlanacağına (ne kadar ciddi hatalar) bakacağız. göstermek için, uyarıların gösterilip gösterilmeyeceği), nasıl ayarlanacağını öğrenin en büyük boy hata satırları ve tekrarlanan hataların kaydını kapatın.

PHP hataları gizlenmeli mi?

PHP hataları, saldırganların siteniz ve sunucunuz hakkında veri toplamasına olanak tanıyan çok çeşitli bilgiler verir. Ama bu soruya net bir “evet” cevabı olsaydı, PHP programları ile her dosyaya bir satır eklenerek her şey çözülürdü.

error_reporting(0);

Aslında, uyarılar (kritik olmayan hatalar) dahil tüm hataların test aşamasında görüntülenmesi gerekir. Hataların ve uyarıların çıktısı da çalışma ortamındaki mevcut (veya olası) sorunların anlaşılmasına yardımcı olacaktır. Ücretsiz dağıtım amaçlı programlarda hata ve uyarı çıktılarını bastırmayın, çünkü sorunlar ortaya çıkarsa, tüm kullanıcı sorun raporları aynı olacaktır: "beyaz bir ekran var", bu da onu çözmeyi çok zorlaştıracak.

Genel olarak, geliştirme sunucularında (örneğin, ev sunucusu), PHP hatalarını ve uyarılarını yöntemlerle temizlemenize gerek yok error_reporting(0); ve @ - nedenlerini incelemeniz ve düzeltmeniz gerekiyor kaynak.

Çalışan sunucularda, PHP kodunda meydana gelen hataları herkese göstermemeniz şiddetle tavsiye edilir, ancak yalnızca görüntülenmelerini gizlemeniz değil, aynı zamanda bir günlüğünü tutmanız, bunları bir yere yazmanız önerilir. sistem yöneticisi ve bir PHP programcısı için - bu günlüklerden alacakları önemli bilgi hakkında olası sorunlar site/sunucu.

.htaccess ile PHP hata günlüğü nasıl etkinleştirilir

Eğitimin bu bölümünde, Apache kullanıcılarına PHP hata çıktısını nasıl bastıracaklarını ve ziyaretçilerden nasıl gizleyeceklerini göstereceğim, bu arada PHP hatalarını daha fazla analiz için günlüğe kaydetme etkinleştirilecek, tüm bu yapılandırma .htaccess dosyası aracılığıyla yapılacak.

Genel olarak, bu yöntemin bir başka büyük avantajı daha var - tüm PHP hatalarını ve uyarılarını yakalamaya çalışmak yerine, her birini kişisel günlüğümüze yazacağız, bu sayede ortaya çıkmasa bile tek bir hata kaçmayacak. siz ve sitenizi, belki de modelleme için aklınıza bile gelmeyecek koşullar altında ziyaret eden biri. Teşekkürler, bu etkili stratejiyi uygulamanın kolay bir yolu var.

PHP hatalarını ziyaretçilerden gizleme

Var Farklı yollar.htaccess ile PHP hatalarını bastırın. Bu, etki alanınızın httpd.conf dosyasına veya aşağıdaki içeriğe sahip .htaccess dosyasının köküne (veya başka bir hedef dizine) aşağıdaki .htaccess yönergelerini ekleyerek yapılabilir:

# php hatalarını bastır php_flag display_startup_errors kapalı php_flag display_errors kapalı php_flag html_errors kapalı php_value docref_root 0 php_value docref_ext 0

Bu, PHP hatalarının artık sitenizde herkese açık olmamasına neden olur. Bu, olası güvenlik risklerini ortadan kaldırır ve bu çirkin, belirsiz PHP hatalarının site düzeninizi bozmasını ve ziyaretçilerinizin kafasını karıştırmasını engeller. Bunun için herhangi bir kod düzenlemesi gerekmez.

Kişisel PHP Hata Günlüğünü Etkinleştirme

Artık PHP hatalarını halktan gizlediğimize göre, onları takip edebilmemiz için günlüğe kaydetmeyi etkinleştirelim. Bu, etki alanınızın httpd.conf dosyasına veya kök (veya herhangi bir hedef) dizinde bulunan .htaccess dosyanıza aşağıdaki .htaccess yönergelerini ekleyerek yapılır.

# dahil etme PHP girişleri php_flag hataları php_value üzerinde log_errors error_log /home/path/public_html/domain/PHP_errors.log

Bunun çalışması için, PHP_errors.log dosyanızın gerçek konumuyla eşleşmesi için son satırdaki yolu düzenlemeniz gerekir. Tabii ki bununla birlikte, bu dosyayı oluşturmanız ve gerekirse 755 veya 777 izinlerini vermeniz gerekiyor.Son olarak, bu son kod satırlarını .htaccess dosyanıza ekleyerek bu günlük dosyasını güvenli hale getirmeniz gerekiyor:

# PHP hata günlüğüne erişimi engelle

Artık her şey yerli yerinde olduğuna göre, her şeyin olması gerektiği gibi çalıştığını kontrol edin, birkaç PHP hatası verin. Ayrıca, bir tarayıcı üzerinden erişmeye çalışarak günlük dosyanızın güvenliğini test etmek isteyebilirsiniz.

.htaccess ile Gelişmiş PHP Hata İşleme

Şimdi bu konuya daha derinden dalalım, ek işlevler ekleyelim ve çeşitli uygulamaları keşfedelim. Önce üretim ortamı için PHP hata işlemesine bakacağız (ör. çevrimiçi, etkin ve genel olan web siteleri ve uygulamalar), ardından geliştirici ortamı için hata işlemeye bakacağız (ör. geliştirilmekte olan projeler, test , özel vb.) .

PHP hata mesajı seviyesi kontrolü

.htaccess kullanarak, pratik ihtiyaçlarınıza uygun hata raporlama düzeyini özelleştirmek mümkündür. PHP hata oranını kontrol etmek için genel kale aşağıdaki gibidir:

# php hata düzeyini ayarlamak için yönergenin genel görünümü php_value error_reporting number

Aşağıdakiler de dahil olmak üzere "sayı" yerine kullanılabilecek birkaç ortak değer vardır:

  • En eksiksiz hata mesajı(E_ALL'a karşılık gelir) - bunun için "32767" değerini kullanın.
  • Tam hata mesajı- PHP hatalarının tam günlüğü için, kullanımdan kaldırılmış yapıların kullanımıyla ilgili çalışma zamanı bildirimleri dışında her şeyin günlüğe kaydedilmesini içerecek olan "8191" değerini kullanın (işe yaramayacak kodla ilgili uyarılar). sonraki sürümler PHP).
  • Zend hata mesajı- Zend komut dosyası motoru tarafından oluşturulan hem önemli hem de önemli olmayan derleme zamanı uyarılarını kaydetmek için "192"yi kullanın.
  • Temel Hata Mesajı- çalışma zamanı bildirimlerini kaydedin. Komut dosyasının yürütülmesi sırasında bir hatayı gösterebilecek bir şey olduğunu belirtin, ancak bu normal program yürütme sırasında da ortaya çıkabilir. Bunu yapmak için "8" sayısını kullanın.
  • Minimum hata mesajı- Yalnızca önemli çalışma zamanı hatalarını günlüğe kaydedin. Bunlar, bellek ayırma hatası vb. gibi betiğin kendisi aracılığıyla kurtarılamayan hatalardır. Bu durumda betiğin yürütülmesi sonlandırılır. Bunu yapmak için "1" sayısını kullanın.

Tabii ki, diğer değerleri ("sayılar") kullanabilirsiniz. ince ayar ne tür hataları düzeltmek istiyorsunuz. En altta bu konuyla ilgili bazı açıklamalar.

Hata kayıtlarınız için maksimum dosya boyutunu ayarlama

.htaccess kullanarak PHP hatalarınız için maksimum boyutu tanımlayabilirsiniz. Bu, bir bütün olarak dosyanın tamamını değil, kaydedilen her bir hatanın boyutunu kontrol etmek anlamına gelir. Sözdizimi aşağıdaki gibidir:

# maksimum hata boyutunu ayarlamak için genel yönerge log_errors_max_len integer_number

Burada "tamsayı_sayısı", bayt cinsinden kaydedilen her bir hata satırının maksimum boyutunu temsil eder. Varsayılan değer "1024"tür (yani 1 kilobayt). Bu limiti kaldırmak için değeri "0" olarak ayarlayabilirsiniz. Bu değerin, etkinleştirildiklerinde (örneğin, geliştirme sırasında) görüntülenen hatalar için de geçerli olduğunu unutmayın.

Yinelenen hataların günlüğe kaydedilmesini devre dışı bırak

Hata günlüğüyle zaten çalıştıysanız, içinde yalnızca olayın zamanında farklılık gösteren birçok benzer giriş olduğunu fark etmiş olabilirsiniz. Bu satırları htaccess dosyanıza ekleyerek bu fazlalıktan kurtulabilirsiniz:

# tekrarlanan hataların günlüğe kaydedilmesini devre dışı bırak php_flag allow_repeated_errors on php_flagignign_repeated_source on

Bu ayarlarla, farklı kaynaklarda veya adreslerde meydana gelseler bile tekrarlanan hatalar günlüğe kaydedilmeyecektir. Yalnızca bir kaynaktan veya dosyadan yinelenen hataları devre dışı bırakmak istiyorsanız, yorum yapın veya son satırı kaldırın. Tersine, olay günlüğü dosyanızın tüm yinelenen hataları içerdiğinden emin olmak için, her iki değeri de üzerindeüzerinde kapalı.

Hepsini bir araya getirmek - çalışma ortamı

PHP hata kaydı oluşturmanın özelliklerini tartıştıktan sonra, tüm kayıtlarımızı tek bir .htaccess dosyasında toplayalım. Bu ayarlar çalışma ortamı için optimize edilmiştir.

# обработка ошибок 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 error_reporting -1 php_value log_errors_max_len 0 İzin ver, reddet Tümünden reddet Tümünü Karşıla

Açıklamalı kodun iyi bir stil olduğunu düşünüyorsanız, aynı kod, ancak yorumlarla:

# Üretim sunucusu için PHP hata işleme # başlangıç ​​hatalarının görüntülenmesini devre dışı bırak php_flag display_startup_errors off # diğer tüm hataların görüntülenmesini devre dışı bırak php_flag display_errors off # disable html hataları işaretleme php_flag html_errors kapalı # hata günlüğü kaydını etkinleştir php_flag log_errors açık # tekrarlanan hataları yoksaymayı etkinleştir php_flag allow_repeated_errors kapalı # benzersiz kaynaklardan gelen hataları yoksaymayı devre dışı bırak php_flag görmezden_repeated_source kapalı # php bellek sızıntısını etkinleştirme günlüğü etkinleştirme php_flag rapor_memleaks açık # çoğu kaydet son hatalar php_errormsg aracılığıyla php_flag track_errors on # biçimlendirme hatası referans bağlantılarını devre dışı bırak php_value docref_root 0 # biçimlendirme hatası referans bağlantılarını devre dışı bırak php_value docref_ext 0 # php hata günlük dosyasının yolunu belirtin php_value error_log /home/path/public_html/domain/PHP_errors.log # girişi belirtin tüm php hatalar php_value error_reporting -1 # maksimum hata dizesi uzunluğunu devre dışı bırak php_value log_errors_max_len 0 # hata günlüğü dosyasını genel erişimden koruyun İzin ver, reddet Tümünden reddet Tümünü Karşıla

Yukarıdaki strateji, üretim ortamındaki bir genel sunucu için idealdir. Yöneticiler ve programcılar için dikkatlice toplanırken tüm hatalar meraklı gözlerden gizlenir. Tabii ki, yukarıdaki yönergeleri ihtiyaçlarınıza tam olarak uyacak şekilde özelleştirebilirsiniz. Şimdi geliştirme ortamı için hata işleme stratejisine bakalım.

Hepsini bir araya getirmek - geliştirme ortamı

Bir program geliştirirken veya hata ayıklarken, PHP hatalarını doğrudan tarayıcıda gerçek zamanlı olarak izlemek daha uygundur. Geliştirme ortamı için uygun ayarlara sahip bir örnek .htaccess aşağıda gösterilmiştir:

# работа с ошибками 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 error_reporting -1 php_value log_errors_max_len 0 İzin ver, reddet Tümünden reddet Tümünü Karşıla

Her satırı açıklamayacağız - ilgili açıklamaları biraz daha yukarıda görebilirsiniz.

İpuçları

PHP yöntemlerini kullanarak sunucudaki günlük dosyasının mutlak yolunu bulmak için (php_value error_log yönergesi için)

yankı dizinadı(__FILE__);

için örnek .htaccess.

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 İzin ver, reddet Tümünden reddet Tümünü Karşıla

Çalışmıyor

Bu yöntem, PHP'nin CGI olarak çalıştığı barındırmalarda geçerli değildir.(olası çözümler bir sonraki makalede gösterilecektir).

Tüm PHP hatalarını görüntülemek için -1 ve ~0

direktifte php_value error_reporting tüm hataları görüntülemek için belirtebilirsiniz -1 veya ~0 . Şunlar. çizgiler şöyle görünür:

php_value error_reporting -1 php_value error_reporting ~0

Ayrıca, daha doğru kabul edilen ikinci yöntemdir, yani. ~0 .

Önceden tanımlanmış sabitler ve bit düzeyinde error_reporting işlemleri

  • Önceden Tanımlanmış Sabitler
  • Bitsel Operatörler

Örneğin SADECE yazmak istersek aşağıdaki hatalar E_ERROR (değer 1), E_WARNING (değer 2), E_CORE_ERROR (değer 16), daha sonra karşılık gelen sayısal değeri elde etmek için bu değerleri ikili sayılara dönüştürmek ve ilgili bitsel işlemleri gerçekleştirmek gerekecektir. sonuç ikili numara ondalık sayıya dönüştürün. Ancak, bu işlem basitleştirilebilir - sadece ondalık sayıların değerlerini ekleyin. Şunlar. bizim durumumuzda 1+2+16=19

php_value error_reporting 19

E_ERROR, E_WARNING ve E_CORE_ERROR hatalarını gösterecektir.

Hostland barındırmada bir günlük dosyasına giden mutlak yol örneği (php_value error_log yönergesi için)

/home/host900456/website/blogs/htdocs/www/PHP_errors.log

Onun yerine host900456 hesabınızı girmeniz gerekir.

Onun yerine İnternet sitesi etki alanınızı belirtmeniz gerekir.

Bu arada, bu siteyi çalıştıran iyi barındırma. Önerilen!

Makale, kod yorumlama hataları (E_ERROR, E_PARSE, E_WARNING, vb.) dahil olmak üzere her tür hatayı işlemek için PHP'de (5.3.x ile ilgili) bulunan işlevselliği açıklar. Bu işlem, bu tür sorunlar olması durumunda sayfanın görüntülenmesini yönetmenize yardımcı olacaktır. Makale, hemen kullanmak için birçok açıklama ve çalışma örneği (mimari) içermektedir. yazılım ürünü. Sonuçta siteyi biraz bozmuşlar, peki, geri dönmek yerine bunu 4xx veya 5xx başlığıyla arama motorunu bilgilendirmek ve kullanıcıyı eğlendirmek gerekiyor. Beyaz ekran(veya bilgisayar korsanları için kutsal bilgi içeren bir ekrandan daha kötü) 200 Ok yanıtıyla.

Bu konuyu yazma fikri cesurca 2 soru sorduğumda ortaya çıktı:

  • Soru hakkında
  • Soru hakkında
Karmama ve favorilere eklemeye göre PHP habra topluluğu için ilginç olduklarını fark ettim. Bu nedenle, insanların ve arama motorlarının ihtiyaç duydukları bilgileri bulmaları daha kolay ve kapsamlı olsun diye bu sorunlara bir makale şeklinde çözüm üretmeye karar verdim.

İlgileniyorsanız detaylar haberimizin altında...

Kullanım nedenleri

Kullanıcının/arama motorunun sunucuda sorunlar olduğunu net bir şekilde yanıtlaması gerekir. Belirli bir Feng Shui kullanmadan bunu başarmak oldukça zordur ve bazen imkansızdır. Burada tüm bunlara ışık tuttum, kendime bir not bırakıyorum, çünkü bir hafta önce ne yapacağımı bilmiyordum ve muhtemelen birçok yeni başlayanın cesareti kırılacak.

Özellik Açıklamaları

Bu işlevsellik, hataları işlemek ve çıktıyı kontrol etmek için PHP'de mevcuttur. İşte onların güzelliklerinin ve eksikliklerinin bir açıklaması. Belge vermeyeceğim, sadece sayfalarına atıfta bulunacağım ve fikrimi açıklayacağım. Verilecekler sadece küçük bir kısım, makalenin sonunda belgelerin ilgili bölümlerine bağlantılar vereceğim. O halde tanışalım:

- Kritik olmayan hataların kontrolü: notlar, uyarılar, özel hatalar. Genel olarak, yorumlamayı anormal şekilde bitirmeyen her şey.
set_error_handler - Kümeler Kullanıcı tanımlı hata işleyicisi.
Tüm bu tür hataları loga yazmak için gereklidir. Ayarlanmadıysa, o zaman günlüğe yazılmaz, ancak her zaman hangi savaş durumlarında yorum ve uyarıların çağrılabileceğini bilmek isterim. Yani kullanıcının ürünü otomatik olarak test etmesine olanak tanır ve bunu fark etmez bile.
Eğer fonksiyon ayarlanmazsa, PHP sadece ekranda veri göstermeye çalışır ve eğer bu verilmezse, bu tür hatalardan hiçbir yaşam belirtisi olmaz.

- Kontrol, istisnalar: E_ERROR türünde bir hatadır.
set_exception_handler - Özel bir istisna işleyicisi ayarlar
Pekala, aşağıda açıklananlar olduğunda ve sadece İstisna türünde bir hatayı ele alırken neden icat edildiğini bilmiyorum. Bu yüzden basitçe var olduğunu bildiriyorum. o araya girer kritik hata"istisna" ve onunla bir şeyler yapmanıza izin verir. Her iki durumda da, senaryo biter. Varsayılan olarak çalışması benim için kişisel olarak yeterlidir (günlüklere yazar, görüntülemeye çalışır). Bunu hiç yeniden tanımlamazdım, aksi takdirde meydana gelen istisna hakkında günlüklere yazmak zorunda kalırdım.

- Çıkış kontrol fonksiyonları: Burada farklı nedenlerle bilmeniz gereken 3 işlevi anlatacağım. Örneğin, başlık çıktı sorunları için veya için. Bizim durumumuzda, hata başlıklarını görüntülememiz gerekiyor.

Şartlar
Hatanın oluşabileceği koddan önce veya önce çalışan kodlu bir dosya var ve bu dosya ve ondan önceki tüm dosyalar hata imkansızlığı ile %100 hata ayıklanıyor. İşte daha kolay olacak bir koşul - yukarıdaki işlevlerin tüm kayıtları geçene kadar hatasız. Bu dosya, kompleksteki bu hata kontrol yöntemlerini açıklar. Tampon kontrol edilir, bir hata varsa, arabelleği sıfırlayın ve hatayı görüntüleyin.
Yorum içeren kod
Kodu test etmediğimi kendi başıma ekleyeceğim, çünkü bu kodda sahip olduğum şeyin basitleştirilmiş bir diyagramı, yorumlar kabul edilir

Çoğu işlevsellik lansman sırasında kullanılabilir AI-BOLIT tarayıcı modunda Komut satırı. Bu, hem Windows/Unix/Mac OS X altında hem de SSH üzerinden erişiminiz varsa ve barındırma, tüketilen işlemci kaynaklarını ciddi şekilde sınırlandırmıyorsa, doğrudan barındırma üzerinde yapılabilir.

Tarayıcıyı çalıştırmak için PHP 5.3 veya sonraki bir konsol sürümünün gerekli olduğunu lütfen unutmayın. Sürüm 5.2, /home/XXX/ai-bolit.php on line'da "Ayrıştırma hatası: sözdizimi hatası, beklenmeyen T_STRING, T_OLD_FUNCTION veya T_FUNCTION veya T_VAR veya ")" hatasına sahip olacaktır...". Kontrol şimdiki versiyonu php -v komutu

AI-BOLIT Tarayıcı Komut Satırı Parametre Referansı

Yardımı göster

php ai-bolit.php --help

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

Yalnızca belirli uzantıları tarayın

php ai-bolit.php --scan=php,php5,pht,phtml,pl,cgi,htaccess,şüpheli,tpl

Güvenlik uzmanlarına göndermek için bir karantina dosyası hazırlayın. AI-QUARANTINE-XXXX.zip arşivi bir şifre ile oluşturulacaktır.

php ai-bolit.php --karantina

Tarayıcıyı "paranoyak" modda çalıştırın (en ayrıntılı raporu almak için önerilir)

php ai-bolit.php --mode=2

php ai-bolit.php --mode=1

Kötü amaçlı kod için bir "pms.db" dosyasını kontrol edin

php ai-bolit.php-jpms.db

Tarayıcıyı 512 Mb bellek boyutuyla çalıştırın

php ai-bolit.php --memory=512M

Taranan dosyanın maksimum boyutunu 900Kb olarak ayarlayın

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

Tararken dosyalar arasında 500ms duraklatın (yükü azaltmak için)

php ai-bolit.php --delay=500

E-posta ile tarama raporu gönder [e-posta korumalı]

php ai-bolit.php [e-posta korumalı]

/home/scanned/report_site1.html içinde bir rapor oluşturun

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

/home/s/site1/public_html/ dizinini tarayın ( --report=report_file seçeneği ayarlanmamışsa rapor varsayılan olarak bu dizinde oluşturulur)

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

Tarama tamamlandığında komutu yürütün.

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

site1.txt adlı bir düz metin raporu alın

php ai-bolit.php-lsite1.txt

Aramaları birleştirebilirsiniz, örneğin,

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

AI-BOLIT tarayıcının çağrısını diğer unix komutlarıyla birleştirerek, örneğin toplu site denetimi gerçekleştirebilirsiniz. Aşağıda, bir hesapta barındırılan birkaç siteyi kontrol etme örneği verilmiştir. Örneğin, siteler /var/www/user1/data/www dizini içinde bulunuyorsa, tarayıcıyı başlatma komutu şu şekilde olacaktır:

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

--report seçeneğini ekleyerek, tarama raporlarının oluşturulacağı dizini kontrol edebilirsiniz.

php ai-bolit.php parametre listesi ... --tur

Rapor arayüzünü İngilizce'ye çevirin. Bu parametre en son gelmelidir.

Diğer hizmetler ve barındırma paneli ile entegrasyon

php ai-bolit.php --json_report=/path/file.json

Json formatında rapor oluşturun

php ai-bolit.php --progress=/path/progress.json

Çekin durumunu json formatında bir dosyaya kaydedin. Bu dosya json formatında yapılandırılmış veriler içerecektir: geçerli tarama dosyası, kaç dosyanın tarandığı, taranacak kaç dosyanın kaldığı, tarama yüzdesi, taramanın tamamlanmasına kadar geçen süre. Bu mekanizma, bir ilerleme çubuğu ve panelde kontrol edilen dosyalar hakkındaki verileri göstermek için kullanılabilir. Tarama tamamlandığında dosya otomatik olarak silinir.

php ai-bolit.php --handler=/path/hander.php

Harici olay işleyicisi. Bir tarama/tarama ilerlemesi/tarama hatalarının başlatılması/durdurulması için kendi işleyicilerinizi ekleyebilirsiniz. Tarayıcı arşivinde, tools/handler.php dizininde örnek bir dosya bulunabilir. Örneğin, tarama tamamlandıktan sonra rapor dosyasıyla bir şeyler yapabilirsiniz (postayla gönderin, arşive paketleyin vb.).

Bu makalede, Analytics Raporlama API'si sürüm 4'te yetkilendirmeyi nasıl ayarlayacağınızı öğreneceksiniz.

Not. Bunların amacı hızlı kılavuzlar– kullanıcının . Bu kütüphaneler sürekli güncellendiğinden, son değişiklikler burada olmayabilir. İhtiyacınız olan bilgiyi bulamadıysanız, kontrol edin ve.

1. API'yi etkinleştirin

Analytics Raporlama API'si sürüm 4'ü kullanmaya başlamadan önce, Google API Konsolunda bir proje oluşturmak için öğesini kullanın, API'yi etkinleştirin ve kimlik bilgilerinizi kaydedin.

Kimlik Bilgileri Oluşturun

Not.istek üzerine tıklayın Yeni bir özel anahtar oluşturun. parametre için Anahtar türü Değeri seç JSON ve ardından oluşturulan anahtarı client_secrets.json olarak kaydedin. Daha sonra ihtiyacınız olacak.
  1. Açık . Gerekirse bir proje seçin.
  2. Tıklamak Bir hizmet hesabı oluşturun.
  3. Bir hesap adı girin ve seçin Yeni bir özel anahtar oluşturun. Ardından düğmeye basın Kaydetmek.

Sistem, bilgisayarınıza kaydedilecek yeni bir anahtar çifti (genel ve özel) oluşturacaktır. Bu kopya tek kopyadır ve onu korumak sizin sorumluluğunuzdadır.

Google Analytics'e bir hizmet hesabı ekleyin

Yeni hizmet hesabının bir adresi olacak E-posta bu türden:

[e-posta korumalı]

Kullanıcıyı API aracılığıyla erişmek istediğiniz Google Analytics görünümüne eklemek için bu URL'yi kullanın. Bu kılavuzdaki görevleri gerçekleştirmek için yalnızca Okuma ve Analiz etme iznine ihtiyacınız vardır.

2. İstemci kitaplığını kurun

besteci google/apiclient gerektirir:^2.0

3. Örneği özelleştirin

Bu örnek için kodla bir HelloAnalytics.php dosyası oluşturmanız gerekiyor.

  • Aşağıdaki kaynak kodunu kopyalayın veya yapıştırın ve ardından HelloAnalytics.php dosyasına ekleyin.
  • İndirilen service-account-credentials.json anahtarını örnek kodla aynı dizine taşıyın.
  • VIEW_ID değerini değiştirin. Bu ayarı bulmak için Hesap Gezgini aracını kullanın.

MerhabaAnalytics.php

setApplicationName("Merhaba Analitik Raporlama"); $client->setAuthConfig($KEY_FILE_LOCATION); $client->setScopes(["https://www.googleapis.com/auth/analytics.readonly"]); $analytics = new Google_Service_AnalyticsReporting($client); $analitik döndür; ) /** * Analytics Reporting API V4'ü sorgular. * * @param service Yetkili bir Analytics Reporting API V4 hizmet nesnesi. * @return The Analytics Reporting API V4 yanıtı. */ function getReport($analytics) ( // Görünüm kimliğinizle değiştirin, örneğin XXXX. $VIEW_ID = " "; // DateRange nesnesini oluşturun. $dateRange = new Google_Service_AnalyticsReporting_DateRange(); $dateRange->setStartDate("7daysAgo"); $dateRange->setEndDate("today"); // Metrics nesnesini oluşturun. $sessions = yeni Google_Service_AnalyticsReporting_Metric(); $sessions->setExpression("ga:sessions"); $sessions->setAlias("sessions"); // ReportRequest nesnesini oluşturun. $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); ) /** * Analytics Reporting API V4 yanıtını ayrıştırır ve yazdırır * * @param Bir Analytics Reporting API V4 yanıtı. */ function printResults($reports) ( for ($reportIndex) = 0;$raporIndex< count($reports); $reportIndex++) { $report = $reports[ $reportIndex ]; $header = $report->getColumnHeader(); $dimensionHeaders = $header->getDimensions(); $metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries(); $satırlar = $rapor->getData()->getRows(); for ($rowIndex = 0; $rowIndex< count($rows); $rowIndex++) { $row = $rows[ $rowIndex ]; $dimensions = $row->getDimensions(); $metrik = $row->getMetrics(); için ($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]->getValues(); için ($k = 0; $k< count($values); $k++) { $entry = $metricHeaders[$k]; print($entry->getName() . ": ". $değerler[$k] . "\n"); ) ) )) )

4. Örneği çalıştırın

Aşağıdaki kodu kullanarak örneği çalıştırın:

MerhabaAnalytics.php

Tüm adımları tamamladığınızda, ekranda son yedi gün içinde seçilen görünümdeki oturum sayısı görüntülenecektir.

Not. Örneği başarılı bir şekilde çalıştırmak için en az bir kaynağa ve bir Google Analytics görünümüne ihtiyacınız olacak.