Folosind Memcache cu PHP. Cum poate un programator php să câștige bani buni acasă?

5,4K

Aș dori să postez un mic memento pentru a ajuta programatorii PHP începători. Ce și cum să faci pentru a învăța php și pentru a începe să câștigi bani din meseria ta. Dacă cititorii doresc să-și dea sfatul, vă rugăm să comentați.

* Să începem cu o teză utilă - poți învăța php fără a cheltui absolut niciun ban. Toate materialele necesare pe PHP se găsesc pe internet, toate răspunsurile la întrebări se găsesc pe forumuri... nu e nevoie să mergi la cursuri, nu e nevoie să cumperi cărți (în general, cărțile merită cumpărate dacă ești prea lene să caute materiale pe internet), nu este nevoie să cheltuiești bani.
* Inventează biciclete. Scrieți întotdeauna codul singur - acest lucru vă va ajuta în viitor. Dacă aveți nevoie de o carte de oaspeți, scrieți-o, nu folosiți opțiuni gata făcute, chiar dacă vă uitați și înțelegeți codul acesteia, aceasta nu va înlocui programarea în sine, găsirea erorilor, depanarea, rezolvarea problemelor legate de scriere. Mai târziu, când devii profesionist, poți și chiar ar trebui să folosești cod de la terți, dar în etapa de învățare, acest lucru vă va face un deserviciu. Puteți folosi exemple și folosi codul altcuiva ca o modalitate de a rezolva o problemă sau de a găsi algoritmul potrivit.
* Creați „pagini de pornire”. Acest antrenament bun. Crearea și dezvoltarea „ pagina principala” vă va forța să vă îmbunătățiți în mod constant abilitățile, să căutați modalități de îmbunătățire a site-ului și să concurați cu alți proprietari de „pagini de pornire”.
* Alăturați-vă la grupuri. Încercați să creați un proiect nu singur, ci în echipă cu alți programatori. Lucrul mai bine într-o echipă, înțelegerea codului altor oameni și comunicarea corectă cu echipa te va ajuta să găsești Buna treaba. Multe companii stabilesc una dintre principalele cerințe pentru angajare - să poată lucra în echipă.
* Nu abandona proiectul pe jumătate. Încercați întotdeauna să finalizați un proiect pe care îl începeți. Chiar dacă nevoia ei a dispărut. Cu cât ai mai multe proiecte finalizate, cu atât mai mare este lista de lucrări pe care le poți scrie pe CV-ul tău. Dar lucrurile finite și terminate sunt cele pe care angajatorul se uită la început.
* Acceptați o muncă „penny”. Dacă istoricul tău nu este bogat, nu ar trebui să refuzi un loc de muncă prost plătit. Permiteți-mi să vă dau un exemplu din viață: când tocmai am început să programez pentru bani, m-am dus să lucrez într-un joc online. În general, mi-au oferit un ban - 2.000 pe lună. Dar l-am luat și, pe măsură ce lucram, am studiat din ce în ce mai mult caracteristicile programării web. După șapte luni, salariul meu era de 10.000 de ruble. Și pur și simplu nu pot număra câtă experiență am câștigat.
* Creați proiecte mari. A avea proiecte mari în palmaresul tău este un mare plus pentru tine.
* Nu stați târziu la serviciu dacă nu sunteți interesat. Dacă munca ta s-a transformat într-o rutină și nu aduce nimic nou, nicio cunoaștere - renunță la ea. Acesta este un drum spre nicăieri. Agățați-vă întotdeauna doar de proiecte interesante.
* Crește-ți cunoștințele „generale”. Nu ar trebui să vă concentrați doar pe php; acum angajatorii solicită un programator nu numai pentru a crea cod, ci și pentru a fi mai priceput la aranjarea paginilor, configurarea unui server, crearea documentației, lucrul cu javascript și multe altele. În general, acum nimeni nu are nevoie doar de programatori web, ci de web masters.
* Învățați noi tehnologii. Noile tehnologii precum Ajax vor fi întotdeauna atuul tău. Ele produc un efect magic asupra angajatorului.

Poate e suficient pentru azi. Mai sunt multe sfaturi, dar le voi da în alte postări dacă va fi cerere :)

Articole similare

Cu siguranță, ați văzut această funcție pe multe site-uri interesante: „On-Line: 56 de persoane”? Și, desigur, ați vrut să faceți ceva similar, dar nu ați avut suficiente cunoștințe sau circumvoluții în materia cenușie? Apoi, special pentru tine, vă ofer un articol în care vă explic în detaliu.

Bine: „Câștigați bani din propriul serviciu prin buletine informative prin e-mail» . Scurgerea unui bazin închis pentru 33 de mii de ruble. Există diferite recenzii la depozit. Pe baza recenziilor, cursul nu este potrivit pentru toată lumea, ci doar pentru cei care au întâlnit deja cursuri sau mailing-uri similare. A trimis materialul utilizator anonimcu comentariu: « Epuizez acest curs pentru că am fost interzis din depozit fără motiv. Referitor la curs, voi spune un lucru că este potrivit pentru mailing-uri mici. Începătorii nu vor înțelege nimic, dar îl pot urmări pentru a se familiariza. Recenziile sunt diferite, m-am abținut să comentez. Dacă vrei să înveți cum să trimiți scrisori în masă, mergi la Shelest, el te va ajuta. Am studiat cu el și am cumpărat acest curs doar pentru dezvoltare generală. Sper sa fie de folos cuiva.» Materialul poate fi eliminat la cererea deținătorului drepturilor de autor! Evaluăm

Descrierea cursului:

Curs unic al autorului de lecții video Tehnologie pornire rapidăîn buletine informative prin e-mail - Cum să trimiteți e-mailuri în volume mari către clienți „potențiali”. Odată cu apariția tendinței de dezvoltare a afacerilor prin Internet și creșterea constantă a numărului de utilizatori activi de Internet, au început să apară diverse cursuri de formare, atât pentru începători, cât și pentru utilizatori avansați. Acest curs este destinat tuturor celor care sunt interesați de cum să obțină trafic și vânzări în mod eficient fără a cheltui sume uriașe de bani pe el. Cel mai eficient și convenabil instrument pentru vânzările online este promovarea serviciilor și produselor folosind E-mail(marketing prin e-mail).

Pentru a organiza marketingul prin e-mail profesional, și nu doar corespondența în masă, este necesar să se dezvolte o abordare sistematică, să colecteze o bază de abonați, să automatizeze acest proces pentru a crește profiturile stabile, să genereze statistici și alte sarcini care sunt dificil de finalizat fără ajutor profesional. În acest curs, ca tehnologie de pornire rapidă pentru buletinele informative prin e-mail, se propune trimiterea de scrisori prin servere VDS.De ce să plătiți mulți bani pentru serviciile de corespondență dacă le puteți configura singur? Și aveți ocazia să trimiteți oricui, orice în volume mari de scrisori clienților dvs. Acest curs vă va ajuta să configurați un server VDS pentru a trimite automat e-mailuri și pentru a crea e-mail marketing profesional, în timp ce orice utilizator îl poate configura prin simpla repetare instrucțiuni pas cu pas din cursul video al autorului. Cele mai bune practici pentru instrumente interesante! Frumusețea SET este că este scris în Python și nu necesită module Python terțe care ar trebui instalate suplimentar. Lucrul se desfășoară printr-un meniu interactiv, unde trebuie doar să selectați elementele dorite pentru aplicație La fiecare pas, meniul este însoțit de buna descriere sub-elementele propuse, astfel încât chiar și un copil se poate descurca (aici devine puțin înfricoșător) Dar în unele situații este pur și simplu necesar să reglați setul de instrumente în sine, iar pentru aceasta va trebui să vă referiți la fișierul de setări.

Ce vei învăța de la curs:

  • Configurarea vds pentru campanii de e-mail
  • Cum să ocoliți filtrele de spam. Motivele pentru care scrisorile ajung în spam
  • Cum să uniciți ușor și rapid e-mailurile
  • Cum să colectezi 100% lucrător și viu adrese de e-mail și nu doar adrese, ci e-mailuri
  • adresele publicului țintă
  • Cum să lucrezi cu SMTP și cum să crești servere SMTP
  • Obțineți tot software-ul de care aveți nevoie
  • Cum să faci bani trimițând scrisori, cu ce programe de afiliere să lucrezi
  • Generarea unui șablon și apoi încărcarea acestuia pe serverul(e) VDS
  • Extrage e-mail, scanează inurl (readme.txt)
  • Crearea bazelor de date - curățarea, defalcarea, eliminarea e-mailurilor duplicate

Orice căutare de vulnerabilități pe resursele web începe cu recunoaștere și colectare de informații.
Inteligența poate fi fie activă - forța brută a fișierelor și directoarelor site-ului, rularea de scanere de vulnerabilități, navigarea manuală pe site, fie pasivă - căutarea de informații în diferite motoare de căutare. Uneori se întâmplă ca o vulnerabilitate să devină cunoscută chiar înainte de a deschide prima pagină a site-ului.

Cum este posibil acest lucru?
Roboții de căutare, care roaming constant pe internet, pe lângă informațiile utile utilizatorului obișnuit, înregistrează adesea lucruri care pot fi folosite de atacatori pentru a ataca o resursă web. De exemplu, erori de script și fișiere cu informații sensibile (de la fișierele de configurare și jurnalele la fișierele cu date de autentificare și copii de siguranță ale bazei de date).
Din punctul de vedere al unui robot de căutare, un mesaj de eroare despre executarea unei interogări SQL este text simplu, inseparabil, de exemplu, de descrierea produselor din pagina. Dacă dintr-o dată un robot de căutare a dat peste un fișier cu extensia .sql, care din anumite motive a ajuns în folder de lucru site-ului, atunci acesta va fi perceput ca parte a conținutului site-ului și va fi, de asemenea, indexat (inclusiv, eventual, parolele specificate în acesta).

Informații similare pot fi găsite cunoscând stabil, adesea unic, Cuvinte cheie, care ajută la separarea „paginilor vulnerabile” de paginile care nu conțin vulnerabilități.
O bază de date uriașă de interogări speciale care utilizează cuvinte cheie (așa-numitele dorks) există pe exploit-db.com și este cunoscută sub numele de Google Hack Database.

De ce google?
Dorks sunt vizați în primul rând către Google din două motive:
− cea mai flexibilă sintaxă a cuvintelor cheie (prezentată în Tabelul 1) și a caracterelor speciale (prezentată în Tabelul 2);
− indexul Google este încă mai complet decât cel al altor motoare de căutare;

Tabelul 1 - Principalele cuvinte cheie Google

Cuvânt cheie
Sens
Exemplu
site-ul
Cauta doar pe site-ul specificat. Ia în considerare doar adresa URL
site:somesite.ru - va găsi toate paginile de pe un anumit domeniu și subdomenii
inurl
Căutați după cuvinte prezente în uri. Spre deosebire de cl. cuvintele „site”, caută potriviri după numele site-ului
inurl:news - găsește toate paginile în care cuvântul dat apare în uri
în text
Căutați în corpul paginii
intext:”blocuri în trafic” - complet similar cu cererea obișnuită pentru „blocuri în trafic”
intitulat
Căutați în titlul paginii. Text între etichete <br></td> <td width="214">intitle:”index of” - va găsi toate paginile cu liste de directoare <br></td> </tr><tr><td width="214">ext <br></td> <td width="214">Căutați pagini cu o extensie specificată <br></td> <td width="214">ext:pdf - găsește toate fișierele pdf <br></td> </tr><tr><td width="214">tip fișier <br></td> <td width="214">În prezent, complet similar cu clasa. cuvântul „ext” <br></td> <td width="214">tip de fișier:pdf - similar <br></td> </tr><tr><td width="214">legate de <br></td> <td width="214">Căutați site-uri cu subiecte similare <br></td> <td width="214">related:google.ru - își va afișa analogii <br></td> </tr><tr><td width="214">legătură <br></td> <td width="214">Căutați site-uri care leagă la aceasta <br></td> <td width="214">link:somesite.ru - va găsi toate site-urile care au un link către aceasta <br></td> </tr><tr><td width="214">defini <br></td> <td width="214">Afișați definiția cuvântului <br></td> <td width="214">define:0day - definiția termenului <br></td> </tr><tr><td width="214">cache <br></td> <td width="214">Afișați conținutul paginii în cache (dacă este prezent) <br></td> <td width="214">cache:google.com - va deschide o pagină în cache <br></td> </tr></tbody></table><p>Masa 2 - <a href="https://pzik.ru/ro/chto-takoe-url-adres-i-kak-s-nim-rabotat-chto-takoe-uri-url-urn-i-chem-oni/">Simboluri speciale</a> interogări Google <br></p><table><tbody><tr><td width="214"><b>Simbol</b><br></td> <td width="214"><b>Sens</b><br></td> <td width="214"><b>Exemplu</b><br></td> </tr><tr><td width="214">“<br></td> <td width="214">Fraza exacta <br></td> <td width="214">intitle:„Pagina de configurare a routerului RouterOS” - căutați routere <br></td> </tr><tr><td width="214">*<br></td> <td width="214">Orice text <br></td> <td width="214">inurl: „bitrix*mcart” - căutați site-uri pe bitrix cu un modul mcart vulnerabil <br></td> </tr><tr><td width="214">.<br></td> <td width="214">Orice personaj <br></td> <td width="214">Index.of - similar cu indexul cererii <br></td> </tr><tr><td width="214">-<br></td> <td width="214">Ștergeți un cuvânt <br></td> <td width="214">error -warning - arată toate paginile care au o eroare, dar nici un avertisment <br></td> </tr><tr><td width="214">..<br></td> <td width="214">Gamă <br></td> <td width="214">cve 2006..2016 - arată vulnerabilitățile pe an, începând din 2006 <br></td> </tr><tr><td width="214">|<br></td> <td width="214">„sau” logic <br></td> <td width="214">linux | ferestre - arată paginile în care apare primul sau al doilea cuvânt <br></td> </tr></tbody></table><br>Merită să înțelegeți că orice cerere să <a href="https://pzik.ru/ro/kakaya-samaya-luchshaya-poiskovaya-sistema-poiskovye-sistemy-rossii-i-lidiruyushchie/">motor de căutare</a>- Aceasta este doar o căutare de cuvinte. <br>Este inutil să cauți meta-caractere pe pagină (ghilimele, paranteze, semne de punctuație etc.). Chiar și căutare prin <a href="https://pzik.ru/ro/ispolzuem-maloizvestnye-funkcii-google-chtoby-naiti-sokrytoe/">fraza exacta</a>, indicat între ghilimele, este o căutare de cuvinte urmată de o căutare <a href="https://pzik.ru/ro/how-to-search-for-new-videos-on-youtube-search-for-the-exact-phrase/">potrivire perfecta</a> deja în rezultate. <p>Toți Google Hack Database dorks sunt împărțiți în mod logic în 14 categorii și sunt prezentate în Tabelul 3. <br>Tabelul 3 – Categoriile bazei de date Google Hack <br></p><table><tbody><tr><td width="168"><b>Categorie</b><br></td> <td width="190"><b>Ceea ce vă permite să găsiți</b><br></td> <td width="284"><b>Exemplu</b><br></td> </tr><tr><td width="168">Prize pentru picioare <br></td> <td width="190">shell-uri web, manageri de fișiere publice <br></td> <td width="284">Găsiți toate site-urile piratate unde sunt încărcate webshell-urile enumerate: <br>(intitle:"phpshell" SAU intitle:"c99shell" SAU intitle:"r57shell" SAU intitle:"PHP Shell" SAU intitle:"phpRemoteView") `rwx` "uname" <br></td> </tr><tr><td width="168">Fișiere care conțin nume de utilizator <br></td> <td width="190">fișiere de registru, <a href="https://pzik.ru/ro/yazyk-programmirovaniya-php-podklyuchaem-konfiguracionnyi-fail/">fișierele de configurare</a>, jurnalele, fișierele care conțin istoricul comenzilor introduse <br></td> <td width="284">Găsiți toate fișierele de registry care conțin informații despre cont: <br><i>tip de fișier: reg reg + intext: „manager cont de internet”</i><br></td> </tr><tr><td width="168">Directoare sensibile <br></td> <td width="190">Directoare cu diverse informații (documente personale, configurații vpn, depozite ascunse etc.) <br></td> <td width="284">Găsiți toate listele de directoare care conțin fișiere legate de VPN: <br><i>"Config" intitle:"Index de" intext:vpn</i><br>Site-uri care conțin depozite git: <br><i>(intext:"index of /.git") ("directorul părinte")</i><br></td> </tr><tr><td width="168">Detectare server web <br></td> <td width="190">Versiune și alte informații despre serverul web <br></td> <td width="284">Găsiți console administrative ale serverului JBoss: <br><i>inurl:"/web-console/" intitle:"Consola de administrare"</i><br></td> </tr><tr><td width="168">Fișiere vulnerabile <br></td> <td width="190">Scripturi care conțin vulnerabilități cunoscute <br></td> <td width="284">Găsiți site-uri care utilizează un script care vă permite să încărcați un fișier arbitrar de pe server: <br><i>allinurl:forcedownload.php?file=</i><br></td> </tr><tr><td width="168">Servere vulnerabile <br></td> <td width="190">Scripturi de instalare, shell-uri web, console administrative deschise etc. <br></td> <td width="284">Găsiți console PHPMyAdmin deschise care rulează ca root: <br><i>intitle:phpMyAdmin „Bine ați venit la phpMyAdmin ***” „rulează pe * ca root@*”</i><br></td> </tr><tr><td width="168">Mesaje de eroare <br></td> <td width="190">Diferite erori și avertismente sunt adesea revelatoare <a href="https://pzik.ru/ro/anonsirovany-novye-smartfony-motorola-droid-motorola-moto-x---tehnicheskie-harakteristiki/">Informații importante</a>- de la versiunea CMS la parole <br></td> <td width="284">Site-uri care au erori în executarea interogărilor SQL în baza de date: <br><i>„Avertisment: mysql_query()” „interogare nevalidă”</i><br></td> </tr><tr><td width="168">Fișiere care conțin informații suculente <br></td> <td width="190">Certificate, copii de rezervă, e-mailuri, jurnale, scripturi SQL etc. <br></td> <td width="284">Găsiți scripturi sql de inițializare: <br><i>filetype:sql și „inserat into” -site:github.com</i><br></td> </tr><tr><td width="168">Fișiere care conțin parole <br></td> <td width="190">Orice poate conține parole - jurnale, scripturi sql etc. <br></td> <td width="284">Jurnalele care menționează parole: <br><i>tip fișier:</i><i>Buturuga</i><i>în text:</i><i>parola |</i><i>trece |</i><i>pw</i><br>scripturi sql care conțin parole: <br><i>ext:</i><i>sql</i><i>în text:</i><i>nume de utilizator</i><i>în text:</i><i>parola</i><br></td> </tr><tr><td width="168">Informații sensibile privind cumpărăturile online <br></td> <td width="190">Informații legate de achizițiile online <br></td> <td width="284">Găsiți coduri pin: <br><i>dcid=</i><i>bn=</i><i>pin</i><i>cod=</i><br></td> </tr><tr><td width="168">Date de rețea sau vulnerabilitate <br></td> <td width="190">Informații care nu au legătură directă cu resursa web, dar care afectează rețeaua sau alte servicii non-web <br></td> <td width="284">Găsiți scripturi <a href="https://pzik.ru/ro/problemy-s-navigaciei-na-android-gps-ne-lovit-sputniki-na-android-smartfone/">setări automate</a> proxy care conțin informații despre rețeaua internă: <br><i>inurl:proxy | inurl:wpad ext:pac | ext:dat findproxyforurl</i><br></td> </tr><tr><td width="168">Pagini care conțin portaluri de conectare <br></td> <td width="190">Pagini care conțin formulare de conectare <br></td> <td width="284">pagini web saplogon: <br><i>intext:"2016 SAP AG. Toate drepturile rezervate." intitle:"Logare"</i><br></td> </tr><tr><td width="168">Diverse dispozitive online <br></td> <td width="190">Imprimante, routere, sisteme de monitorizare etc. <br></td> <td width="284">Găsiți panoul de configurare a imprimantei: <br><i>intitle:"</i><i>hp</i><i>laserjet"</i><i>inurl:</i><i>SSI/</i><i>Auth/</i><i>a stabilit_</i><i>config_</i><i>deviceinfo.</i><i>htm</i><br></td> </tr><tr><td width="168">Sfaturi și vulnerabilități <br></td> <td width="190">Site-uri web pe versiuni CMS vulnerabile <br></td> <td width="284">Găsiți pluginuri vulnerabile prin care puteți încărca un fișier arbitrar pe server: <br><i>inurl:fckeditor -intext:"ConfigIsEnabled = False" intext:ConfigIsEnabled</i><br></td> </tr></tbody></table><br>Dorks se concentrează mai des pe căutarea pe toate site-urile de internet. Dar nimic nu vă împiedică să limitați domeniul de căutare pe orice site sau site-uri. <br>Fiecare interogare Google poate fi concentrată pe un anumit site, adăugând cuvântul cheie „site:somesite.com” la interogare. Acest cuvânt cheie poate fi adăugat la orice dork. <p><b>Automatizarea căutării vulnerabilităților</b><br>Așa s-a născut ideea de a scrie un simplu utilitar care automatizează căutarea vulnerabilităților folosind un motor de căutare (google) și se bazează pe baza de date Google Hack.</p><p>Utilitarul este un script scris în nodejs folosind phantomjs. Pentru a fi precis, scenariul este interpretat chiar de phantomjs. <br>Phantomjs este un browser web cu drepturi depline, fără GUI, controlat de cod js și cu un API convenabil. <br>Utilitarul a primit un nume destul de ușor de înțeles - nebuni. Lansându-l în <a href="https://pzik.ru/ro/kak-sbrosit-nastroiki-uchetnoi-zapisi-maikrosoft-chto-predprinyat/">Linie de comanda</a>(fără opțiuni) primim un scurt ajutor cu câteva exemple de utilizare: <br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/edd/6fb/ccc/edd6fbccc5ec340abe750f3073c1b427.jpg' width="100%" loading=lazy loading=lazy><br>Figura 1 - Lista principalelor opțiuni dorks</p><p>Sintaxa generală a utilitarului este: dork „comandă” „listă de opțiuni”. <br>O descriere detaliată a tuturor opțiunilor este prezentată în Tabelul 4.</p><p>Tabelul 4 - Sintaxa Dorks <br></p><table border="1"><tbody><tr><td width="214"><b>Echipă</b><br></td> <td width="214"><b>Opțiune</b><br></td> <td width="214"><b>Descriere</b><br></td> </tr><tr><td rowspan="4" width="214">ghdb <br></td> <td width="214">-l <br></td> <td width="214">Tipăriți o listă numerotată de categorii de dork baza de date Google Hack <br></td> </tr><tr><td width="214">-c „număr sau nume de categorie” <br></td> <td width="214">Încărcați ușile din categoria specificată după număr sau nume <br></td> </tr><tr><td width="214">-q „frază” <br></td> <td width="214">Descărcați dorks găsiți la cerere <br></td> </tr><tr><td width="214">-o "fișier" <br></td> <td width="214">Salvați rezultatul într-un fișier (numai cu opțiunile -c|-q) <br></td> </tr><tr><td rowspan="8" width="214">Google <br></td> <td width="214">-d "protu" <br></td> <td width="214">Setați un dork arbitrar (opțiunea poate fi folosită de mai multe ori, combinația cu opțiunea -D este permisă) <br></td> </tr><tr><td width="214">-D "dosar" <br></td> <td width="214">Folosește dorks din fișier <br></td> </tr><tr><td width="214">-s „site” <br></td> <td width="214">Setați site-ul (opțiunea poate fi folosită de mai multe ori, combinația cu opțiunea -S este permisă) <br></td> </tr><tr><td width="214">-S „fișier” <br></td> <td width="214">Utilizați site-uri dintr-un fișier (dorks vor fi căutați pentru fiecare site în mod independent) <br></td> </tr><tr><td width="214">-f "filtru" <br></td> <td width="214">Setați cuvinte cheie suplimentare (vor fi adăugate la fiecare dork) <br></td> </tr><tr><td width="214">-t „număr de ms” <br></td> <td width="214">Interval între solicitările către Google <br></td> </tr><tr><td width="214">-T „număr de ms” <br></td> <td width="214">Timeout dacă se întâlnește un captcha <br></td> </tr><tr><td width="214">-o "fișier" <br></td> <td width="214">Salvați rezultatul într-un fișier (vor fi salvate doar acele piese pentru care a fost găsit ceva) <br></td> </tr></tbody></table><br>Folosind comanda ghdb, puteți obține toate dork-urile de la exploit-db la cerere arbitrară sau puteți specifica întreaga categorie. Dacă specificați categoria 0, întreaga bază de date va fi descărcată (aproximativ 4,5 mii de dorks). <p>Lista categoriilor disponibile pe <a href="https://pzik.ru/ro/nevozmozhno-vypolnit-zapros-v-dannyi-moment-nevozmozhno-vypolnit/">acest moment</a> prezentate în figura 2. <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/b8f/b11/ffe/b8fb11ffeaced5066fd2fd9e43be67fb.jpg' width="100%" loading=lazy loading=lazy></p><p>Figura 2 - Lista categoriilor disponibile GHDB dork</p><p>Comanda google va înlocui fiecare dork în <a href="https://pzik.ru/ro/chto-luchshe-google-ili-kakoi-poiskovik-vybrat-yandeks-ili-google-kakoi-poiskovik/">motor de căutare Google</a> iar rezultatul a fost analizat pentru meciuri. Căile în care a fost găsit ceva vor fi salvate într-un fișier. <br>Utilitarul suportă <a href="https://pzik.ru/ro/pochemu-operativka-ne-rabotaet-v-dvuhkanalnom-rezhime-kak-uznat/">moduri diferite</a> căutare: <br>1 nebun și 1 site; <br>1 nebun și multe site-uri; <br>1 site si multi nebuni; <br>multe site-uri și mulți idioți; <br>Lista de dorks și site-uri poate fi specificată fie printr-un argument, fie printr-un fișier.</p><p><b>Demonstrație de muncă</b><br>Să încercăm să căutăm orice vulnerabilități folosind exemplul căutării mesajelor de eroare. Prin comandă: dorks ghdb –c 7 –o errors.dorks toate dorks cunoscute din categoria „Mesaje de eroare” vor fi încărcate așa cum se arată în Figura 3. <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/28c/386/641/28c386641d1528652f7f8e8b8089097a.jpg' width="100%" loading=lazy loading=lazy><br>Figura 3 – Încărcarea tuturor dork-urilor cunoscute din categoria „Mesaje de eroare”.</p><p>Dorks sunt descărcate și salvate într-un fișier. Acum tot ce rămâne este să le „setezi” pe un anumit site (vezi Figura 4). <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/8e0/a8a/3af/8e0a8a3af4f26544da1faa584813dbff.jpg' width="100%" loading=lazy loading=lazy><br>Figura 4 – Căutare vulnerabilități ale site-ului de interes în memoria cache Google</p><p>După ceva timp, pe site-ul studiat sunt descoperite mai multe pagini care conțin erori (vezi Figura 5).</p><p><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/10b/e83/ba3/10be83ba38f172213ba06b3f9ad05a58.jpg' width="100%" loading=lazy loading=lazy><br>Figura 5 – Mesaje de eroare găsite</p><p>Rezultatul, în fișierul result.txt obținem <a href="https://pzik.ru/ro/polnyi-spisok-igr-po-hamachi-lokalnaya-set-cherez-hamachi-nastroika/">lista plina</a> nebunii care duc la o eroare. <br>Figura 6 arată rezultatul căutării erorilor de site. <br><br>Figura 6 – Rezultatul căutării erorilor</p><p>În memoria cache pentru acest dork, este afișată un backtrace complet, care dezvăluie căile absolute ale scripturilor, sistemul de management al conținutului site-ului și tipul bazei de date (vezi Figura 7). <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/0a9/455/588/0a9455588496d6609f5e13d598cb5a48.jpg' width="100%" loading=lazy loading=lazy><br>Figura 7 – dezvăluirea informațiilor despre designul site-ului</p><p>Cu toate acestea, merită luat în considerare faptul că nu toți idioții de la GHDB dau rezultate adevărate. De asemenea, este posibil ca Google să nu găsească o potrivire exactă și să nu arate un rezultat similar.</p><p>În acest caz, este mai înțelept să folosiți lista personală de proști. De exemplu, merită întotdeauna să căutați fișiere cu extensii „neobișnuite”, dintre care exemple sunt prezentate în Figura 8. <br><br><img src='https://i0.wp.com/habrastorage.org/getpro/habr/post_images/d7f/865/693/d7f865693f7fcf13137598eeed0ecb58.jpg' width="100%" loading=lazy loading=lazy><br>Figura 8 – Lista extensiilor de fișiere care nu sunt tipice pentru o resursă web obișnuită</p><p>Drept urmare, cu comanda dorks google –D extensions.txt –f bank, de la prima solicitare Google începe să returneze site-uri cu extensii de fișiere „neobișnuite” (vezi Figura 9). <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/107/e1f/a2f/107e1fa2f41c4169bcc254cba2f2f4b6.jpg' width="100%" loading=lazy loading=lazy><br>Figura 9 – Căutați tipuri de fișiere „proaste” pe site-urile bancare</p><p>Merită să rețineți că Google nu acceptă interogări mai lungi de 32 de cuvinte.</p><p>Folosind comanda dorks google –d intext:”eroare|warning|notice|syntax” –f university <br>Puteți căuta erori de interpret PHP pe site-urile web educaționale (vezi Figura 10). <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/717/74f/e36/71774fe3656bfc058c42d43262fdec4a.jpg' width="100%" loading=lazy loading=lazy><br>Figura 10 – Găsirea erorilor de rulare PHP</p><p>Uneori nu este convenabil să folosiți una sau două categorii de idioți. <br>De exemplu, dacă se știe că site-ul rulează pe motorul Wordpress, atunci avem nevoie de module specifice WordPress. În acest caz, este convenabil să utilizați căutarea în baza de date Google Hack. Comanda dorks ghdb –q wordpress –o wordpress_dorks.txt va descărca toate dorks din Wordpress, așa cum se arată în Figura 11: <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/dcb/ac9/a4e/dcbac9a4eb12f6ec775d9cccc2fdee87.jpg' width="100%" loading=lazy loading=lazy><br>Figura 11 – Căutare Dorks legate de Wordpress</p><p>Să ne întoarcem din nou la bănci și să folosim comanda dorks google –D wordpress_dords.txt –f bank pentru a încerca să găsim ceva interesant legat de Wordpress (vezi Figura 12). <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/042/0c2/c43/0420c2c435931704288b171f725ccc6a.jpg' width="100%" loading=lazy loading=lazy><br>Figura 12 – Căutați vulnerabilități Wordpress</p><p>Este de remarcat faptul că căutarea pe baza de date Google Hack nu acceptă cuvinte mai scurte de 4 caractere. De exemplu, dacă CMS-ul site-ului nu este cunoscut, dar limbajul este cunoscut - PHP. În acest caz, puteți filtra manual ceea ce aveți nevoie folosind pipe-ul și utilitarul de căutare a sistemului dorks –c all | findstr /I php > php_dorks.txt (vezi Figura 13): <br><br><img src='https://i2.wp.com/habrastorage.org/getpro/habr/post_images/4c1/2f8/6e1/4c12f86e111074293c14d6a939c6ebab.jpg' width="100%" loading=lazy loading=lazy><br>Figura 13 – Căutați toate dorks unde este menționat PHP</p><p>Căutarea unor vulnerabilități sau a unor informații sensibile într-un motor de căutare ar trebui făcută numai dacă există un index semnificativ pe acest site. De exemplu, dacă un site are 10-15 pagini indexate, atunci este o prostie să cauți ceva în acest fel. Verificarea dimensiunii indexului este ușoară - trebuie doar să introduceți în linie <a href="https://pzik.ru/ro/kak-ubrat-poisk-gugl-na-android-bez-root-prav-vse-sposoby-i-vozmozhnosti/">cautare Google</a>„site:somesite.com”. Un exemplu de site cu un index insuficient este prezentat în Figura 14. <br><br><img src='https://i1.wp.com/habrastorage.org/getpro/habr/post_images/78e/1db/b4f/78e1dbb4fc78cd422cec311fc2ca9d33.jpg' width="100%" loading=lazy loading=lazy><br>Figura 14 – Verificarea dimensiunii indexului site-ului</p><p>Acum despre neplăcut... Din când în când Google poate solicita un captcha - nu poți face nimic în privința asta - va trebui să îl introduci. De exemplu, la căutarea prin categoria „Mesaje de eroare” (90 de idioți), captcha a apărut o singură dată.</p><p>Merită să adăugați că phantomjs acceptă și lucrul printr-un proxy, atât prin interfața http, cât și prin intermediul șosetelor. Pentru a activa modul proxy, trebuie să decomentați linia corespunzătoare din dorks.bat sau dorks.sh.</p><p>Instrumentul este disponibil ca cod sursă</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> </div> <footer> <div class="td-post-source-tags"> </div> <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://pzik.ru/ispolzovanie-memcache-pri-pomoshchi-php-kak-php-programmistu-horosho/" content="https://pzik.ru/ispolzovanie-memcache-pri-pomoshchi-php-kak-php-programmistu-horosho/" /><span style="display: none;"><span style="display: none;"><meta itemprop="url" content="/assets/logo.svg"></span> <meta itemprop="name" content="Использование Memcache при помощи PHP. Как php программисту хорошо зарабатывать дома"> </span> <meta itemprop="headline " content="Сбербанк Копилка онлайн"><span style="display: none;" itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><meta itemprop="url" content="https://i0.wp.com/habrastorage.org/getpro/habr/post_images/edd/6fb/ccc/edd6fbccc5ec340abe750f3073c1b427.jpg"> <meta itemprop="width" content="366"><meta itemprop="height" content="262"></span> </footer> </article> <style> .ads-border { overflow: hidden; } .ads-content { width: 930px; display: block; } @media(max-width: 1140px) { .ads-content { width: 910px; } } @media(max-width: 1018px) { .ads-content { width: 970px; } } @media (max-width: 767px) { .ads-content { width: 134%; } } @media (max-width: 479px) { .ads-content { width: 100%; height: 490px; } } </style> <div class="ads-block"> <h4 class="td-related-title"><span class="td-related-left td-cur-simple-item">ARTICOLE SIMILARE</span></h4> <div class="ads-border"> <div class="ads-content"> <div id="kafydo1" style="height:90px;width:690px;" align="center"></div> </div> </div> </div> <style> #mc-container { padding: 10px; } </style> <dblock></dblock> </div> </div> <div class="td-pb-span4 td-main-sidebar" role="complementary"> <div class="td-ss-main-sidebar"> <aside class="widget widget_text" id="text-23"> <div class="block-title"><span>Util</span></div> <div class="textwidget" align="center"><div id="kafydo2" style="height:200px;width:300px;" align="center"></div></div> </aside> <aside class="widget widget_text" id="text-24"> <div class="block-title"><span>Publicitate</span></div> <div class="textwidget" align="center"><div id="kafydo3" style="height:200px;width:300px;" align="center"></div></div> </aside> <aside class="widget widget_text" id="text-25"> <div class="textwidget"> <p style="text-align: center;"> </p> </div> </aside> <aside class="widget rpwe_widget recent-posts-extended" id="rpwe_widget-4"> <div class="block-title"><span>Nou</span></div> <dblock></dblock> <div class="rpwe-block "> <ul class="rpwe-ul"> <li class="rpwe-li rpwe-clearfix"> <a class="rpwe-img" href="https://pzik.ru/ro/kak-uznat-est-li-blyutuz-na-televizore-kak-podklyuchit-besprovodnye-bluetooth/" rel="bookmark"> <img class="rpwe-aligncenter rpwe-thumb" src="https://i1.wp.com/televopros.ru/wp-content/uploads/2017/04/besprovodnye-naushniki-s-garnituroj-e1491898640729.jpg" alt="Cum se conectează căști Bluetooth fără fir la un Samsung, LG, Sony, Philips, Smart TV?" loading=lazy loading=lazy></a> <a style="color: #169c4c; font-size:14px; font-weight:600;" href="https://pzik.ru/ro/kak-uznat-est-li-blyutuz-na-televizore-kak-podklyuchit-besprovodnye-bluetooth/" title="Cum se conectează căști Bluetooth fără fir la un Samsung, LG, Sony, Philips, Smart TV?" rel="bookmark">Cum se conectează căști Bluetooth fără fir la un Samsung, LG, Sony, Philips, Smart TV?</a> </li> <li class="rpwe-li rpwe-clearfix"> <a class="rpwe-img" href="https://pzik.ru/ro/lg-art-cool-gallery-domashnii-kondicioner-kak-proizvedenie-iskusstva-otzyv/" rel="bookmark"> <img class="rpwe-aligncenter rpwe-thumb" src="https://i2.wp.com/strojdvor.ru/wp-content/uploads/2015/02/25353644040e64447be51c871229076d1.jpg" alt="Recenzie: Cool Panel - sistem split elegant LG Art Cool Panel Instrucțiuni de utilizare pentru aparatul de aer condiționat lg artcool" loading=lazy loading=lazy></a> <a style="color: #169c4c; font-size:14px; font-weight:600;" href="https://pzik.ru/ro/lg-art-cool-gallery-domashnii-kondicioner-kak-proizvedenie-iskusstva-otzyv/" title="Recenzie: Cool Panel - sistem split elegant LG Art Cool Panel Instrucțiuni de utilizare pentru aparatul de aer condiționat lg artcool" rel="bookmark">Recenzie: Cool Panel - sistem split elegant LG Art Cool Panel Instrucțiuni de utilizare pentru aparatul de aer condiționat lg artcool</a> </li> <li class="rpwe-li rpwe-clearfix"> <a class="rpwe-img" href="https://pzik.ru/ro/chto-takoe-kompozitnyi-vyhod-v-televizore-razemy-televizora-kakoi/" rel="bookmark"> <img class="rpwe-aligncenter rpwe-thumb" src="https://i2.wp.com/tehznatok.com/wp-content/uploads/2018/06/komponentnyy-vhod-na-televizore.jpeg" alt="Conectori TV, care și unde" loading=lazy loading=lazy></a> <a style="color: #169c4c; font-size:14px; font-weight:600;" href="https://pzik.ru/ro/chto-takoe-kompozitnyi-vyhod-v-televizore-razemy-televizora-kakoi/" title="Conectori TV, care și unde" rel="bookmark">Conectori TV, care și unde</a> </li> <li class="rpwe-li rpwe-clearfix"> <a class="rpwe-img" href="https://pzik.ru/ro/in-chto-oznachaet-na-televizore-slovar-terminov-vhod-audio/" rel="bookmark"> <img class="rpwe-aligncenter rpwe-thumb" src="https://i0.wp.com/telewiz.ru/wp-content/uploads/2014/02/hp_hdmiCabel.jpg" alt="În ce înseamnă la televizor" loading=lazy loading=lazy></a> <a style="color: #169c4c; font-size:14px; font-weight:600;" href="https://pzik.ru/ro/in-chto-oznachaet-na-televizore-slovar-terminov-vhod-audio/" title="În ce înseamnă la televizor" rel="bookmark">În ce înseamnă la televizor</a> </li> <li class="rpwe-li rpwe-clearfix"> <a class="rpwe-img" href="https://pzik.ru/ro/ne-rabotaet-pult-magic-remote---chto-delat-v-takoi-situacii-neveroyatnye-vozmozhnosti/" rel="bookmark"> <img class="rpwe-aligncenter rpwe-thumb" src="https://i1.wp.com/help-wifi.com/wp-content/uploads/2015/11/28-11-2015-21-18-14.jpg" alt="Capacitățile incredibile ale telecomenzii LG Magic Motion Telecomanda magică LG TV nu funcționează" loading=lazy loading=lazy></a> <a style="color: #169c4c; font-size:14px; font-weight:600;" href="https://pzik.ru/ro/ne-rabotaet-pult-magic-remote---chto-delat-v-takoi-situacii-neveroyatnye-vozmozhnosti/" title="Capacitățile incredibile ale telecomenzii LG Magic Motion Telecomanda magică LG TV nu funcționează" rel="bookmark">Capacitățile incredibile ale telecomenzii LG Magic Motion Telecomanda magică LG TV nu funcționează</a> </li> <li class="rpwe-li rpwe-clearfix"> <a class="rpwe-img" href="https://pzik.ru/ro/obzor-smartfona-lg-g6-flagman-s-ogromnym-ekranom-bez-ramok-lg-g6-pro-i-g6-plus-eshche/" rel="bookmark"> <img class="rpwe-aligncenter rpwe-thumb" src="https://i2.wp.com/filearchive.cnews.ru/img/zoom/2017/06/19/g6_1.jpg" alt="LG G6 Pro și G6 Plus: încă două versiuni ale flagship-ului sunt deja pe cale Lg g6 diferențe între versiuni" loading=lazy loading=lazy></a> <a style="color: #169c4c; font-size:14px; font-weight:600;" href="https://pzik.ru/ro/obzor-smartfona-lg-g6-flagman-s-ogromnym-ekranom-bez-ramok-lg-g6-pro-i-g6-plus-eshche/" title="LG G6 Pro și G6 Plus: încă două versiuni ale flagship-ului sunt deja pe cale Lg g6 diferențe între versiuni" rel="bookmark">LG G6 Pro și G6 Plus: încă două versiuni ale flagship-ului sunt deja pe cale Lg g6 diferențe între versiuni</a> </li> <li class="rpwe-li rpwe-clearfix"> <a class="rpwe-img" href="https://pzik.ru/ro/lg-vypuskaet-rasshirennuyu-i-urezannuyu-versii-provalnogo-flagmana-g6-obzor/" rel="bookmark"> <img class="rpwe-aligncenter rpwe-thumb" src="https://i0.wp.com/tehnot.com/wp-content/uploads/2017/06/lg-g6-32.jpg" alt="Revizuirea smartphone-ului LG G6: flagship cu un ecran uriaș fără ramă. Modele Lg g6 pentru diferite piețe" loading=lazy loading=lazy></a> <a style="color: #169c4c; font-size:14px; font-weight:600;" href="https://pzik.ru/ro/lg-vypuskaet-rasshirennuyu-i-urezannuyu-versii-provalnogo-flagmana-g6-obzor/" title="Revizuirea smartphone-ului LG G6: flagship cu un ecran uriaș fără ramă. Modele Lg g6 pentru diferite piețe" rel="bookmark">Revizuirea smartphone-ului LG G6: flagship cu un ecran uriaș fără ramă. Modele Lg g6 pentru diferite piețe</a> </li> <li class="rpwe-li rpwe-clearfix"> <a class="rpwe-img" href="https://pzik.ru/ro/telefony-galaksi-s5-obzor-samsung-galaxy-s5-sm-g900f-vse-kak-est-processor/" rel="bookmark"> <img class="rpwe-aligncenter rpwe-thumb" src="https://i2.wp.com/itc.ua/wp-content/uploads/2014/04/P4011880.jpg" alt="Recenzie Samsung Galaxy S5 (SM-G900F)" loading=lazy loading=lazy></a> <a style="color: #169c4c; font-size:14px; font-weight:600;" href="https://pzik.ru/ro/telefony-galaksi-s5-obzor-samsung-galaxy-s5-sm-g900f-vse-kak-est-processor/" title="Recenzie Samsung Galaxy S5 (SM-G900F)" rel="bookmark">Recenzie Samsung Galaxy S5 (SM-G900F)</a> </li> <li class="rpwe-li rpwe-clearfix"> <a class="rpwe-img" href="https://pzik.ru/ro/obzor-samsung-galaxy-s6-edge-vse-chto-nuzhno-znat-o-smartfone-bystryi/" rel="bookmark"> <img class="rpwe-aligncenter rpwe-thumb" src="https://i1.wp.com/ixbt.com/mobile/images/samsung-galaxy-s6-edge-plus/foto/sgs6p-13.jpg" alt="Tot ce trebuie să știi despre un smartphone!" loading=lazy loading=lazy></a> <a style="color: #169c4c; font-size:14px; font-weight:600;" href="https://pzik.ru/ro/obzor-samsung-galaxy-s6-edge-vse-chto-nuzhno-znat-o-smartfone-bystryi/" title="Tot ce trebuie să știi despre un smartphone!" rel="bookmark">Tot ce trebuie să știi despre un smartphone!</a> </li> </ul> </div> </aside> </div> </div> </div> </div> </div> <div class="td-footer-wrapper td-footer-template-3"> <div class="td-container"> <div class="td-pb-row"> <div class="td-pb-span12"> </div> </div> <div class="td-pb-row"> <div class="td-pb-span3 logo-footer"> <div class="td-footer-info"> <div class="footer-logo-wrap"><a href="https://pzik.ru/ro/"><img class="td-retina-data" src="/uploads/logo.png" data-retina="/uploads/logo.png" alt="Totul despre tehnologia mobilă" title="Totul despre tehnologia mobilă" / loading=lazy loading=lazy></a></div> <div class="footer-text-wrap"></div> <div class="footer-social-wrap td-social-style-2"></div> </div> <aside class="widget widget_text" id="text-16"> <div class="textwidget"> <script src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js"></script> <script src="//yastatic.net/share2/share.js"></script> <span class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus,twitter"></span></div> </aside> </div> <div class="td-pb-span9 footer-discription"> <aside class="widget widget_text" id="text-5"> <div class="textwidget"> <p> <font size="2" color="grey"> </font> </p>© Totul despre tehnologia mobilă, 2023</div> </aside> </div> </div> </div> </div> <div class="td-sub-footer-container"> <div class="td-container"> <div class="td-pb-row"> <div class="td-pb-span12 td-sub-footer-menu"> <div class="td-sub-footer-main"> <div class="menu-foot-container"><ul id="menu-foot" class="td-subfooter-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-first td-menu-item td-normal-menu"><a href="https://pzik.ru/ro/feedback/">Părere</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page td-menu-item td-normal-menu"><a href="https://pzik.ru/ro/sitemap.xml">Harta site-ului</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page td-menu-item td-normal-menu"><a href="">Despre site</a></li> </ul></div> </div> </div> </div> </div> </div> </div> <script type="text/javascript"> jQuery(document).ready(function () { jQuery("span.ancored").replaceWith(function () { $this = jQuery(this); href = $this.attr("title"); text = $this.html(); return '<a href="' + href + '">' + text + '</a>'; } ) } ) </script> <link rel='stylesheet' id='font-awesome-css' href='//netdna.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css?ver=4.4.0' type='text/css' media='all' /> <link rel='stylesheet' id='su-content-shortcodes-css' href='/assets/content-shortcodes.css' type='text/css' media='all' /> <link rel='stylesheet' id='su-box-shortcodes-css' href='/assets/box-shortcodes.css' type='text/css' media='all' /> <script type='text/javascript' src='/assets/jquery.form.min.js'></script> <script type='text/javascript'> /* <![CDATA[ */ var _wpcf7 = { "recaptcha":{ "messages":{ "empty":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u0432\u044b \u043d\u0435 \u0440\u043e\u0431\u043e\u0442."} },"cached":"1"} ; /* ]]> */ </script> <script type='text/javascript' src='/assets/scripts.js'></script> <script type='text/javascript' src='/assets/front.min.js'></script> <script type='text/javascript' src='/assets/imagesloaded.min.js'></script> <script type='text/javascript' src='/assets/masonry.min.js'></script> <script type='text/javascript' src='/assets/jquery.masonry.min.js'></script> <script type='text/javascript' src='/assets/rsvp.js'></script> <script type='text/javascript' src='/assets/tagdiv_theme.js'></script> <script type='text/javascript' src='/assets/comment-reply.min.js'></script> <script type='text/javascript'> var q2w3_sidebar_options = new Array(); q2w3_sidebar_options[0] = { "sidebar" : "td-default", "margin_top" : 25, "margin_bottom" : 320, "stop_id" : "", "screen_max_width" : 0, "screen_max_height" : 0, "width_inherit" : false, "refresh_interval" : 1500, "window_load_hook" : false, "disable_mo_api" : false, "widgets" : ['text-13'] } ; </script> <script type='text/javascript' src='/assets/q2w3-fixed-widget.min.js'></script> <script type='text/javascript' src='/assets/wp-embed.min.js'></script> <style type='text/css'> /*** Shortcodes Ultimate - box elements ***/ /* Common styles ---------------------------------------------------------------*/ .su-clearfix:before, .su-clearfix:after { display: table; content: " "; } .su-clearfix:after { clear: both; } /* Tabs + Tab ---------------------------------------------------------------*/ .su-tabs { margin: 0 0 1.5em 0; padding: 3px; -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; background: #eee; } .su-tabs-nav span { display: inline-block; margin-right: 3px; padding: 10px 15px; font-size: 13px; min-height: 40px; line-height: 20px; -webkit-border-top-left-radius: 3px; -moz-border-radius-topleft: 3px; border-top-left-radius: 3px; -webkit-border-top-right-radius: 3px; -moz-border-radius-topright: 3px; border-top-right-radius: 3px; color: #333; cursor: pointer; -webkit-transition: all .2s; -moz-transition: all .2s; -o-transition: all .2s; transition: all .2s; } .su-tabs-nav span:hover { background: #f5f5f5; } .su-tabs-nav span.su-tabs-current { background: #fff; cursor: default; } .su-tabs-nav span.su-tabs-disabled { opacity: 0.5; filter: alpha(opacity=50); cursor: default; } .su-tabs-pane { padding: 15px; font-size: 13px; -webkit-border-bottom-right-radius: 3px; -moz-border-radius-bottomright: 3px; border-bottom-right-radius: 3px; -webkit-border-bottom-left-radius: 3px; -moz-border-radius-bottomleft: 3px; border-bottom-left-radius: 3px; background: #fff; color: #333; } .su-tabs-vertical:before, .su-tabs-vertical:after { content: " "; display: table; } .su-tabs-vertical:after { clear: both; } .su-tabs-vertical .su-tabs-nav { float: left; width: 30%; } .su-tabs-vertical .su-tabs-nav span { display: block; margin-right: 0; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; -webkit-border-top-left-radius: 3px; -moz-border-radius-topleft: 3px; border-top-left-radius: 3px; -webkit-border-bottom-left-radius: 3px; -moz-border-radius-bottomleft: 3px; border-bottom-left-radius: 3px; } .su-tabs-vertical .su-tabs-panes { float: left; width: 70%; } .su-tabs-vertical .su-tabs-pane { -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; -webkit-border-top-right-radius: 3px; -webkit-border-bottom-right-radius: 3px; -moz-border-radius-topright: 3px; -moz-border-radius-bottomright: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .su-tabs-nav, .su-tabs-nav span, .su-tabs-panes, .su-tabs-pane { -webkit-box-sizing: border-box !important; -moz-box-sizing: border-box !important; box-sizing: border-box !important; } /* Styles for screens that are less than 768px */ @media only screen and (max-width: 768px) { .su-tabs-nav span { display: block; } .su-tabs-vertical .su-tabs-nav { float: none; width: auto; } .su-tabs-vertical .su-tabs-panes { float: none; width: auto; } } /* Spoiler + Accordion ---------------------------------------------------------------*/ .su-spoiler { margin-bottom: 1.5em; } .su-spoiler .su-spoiler:last-child { margin-bottom: 0; } .su-accordion { margin-bottom: 1.5em; } .su-accordion .su-spoiler { margin-bottom: 0.5em; } .su-spoiler-title { position: relative; cursor: pointer; min-height: 20px; line-height: 20px; padding: 7px 7px 7px 34px; font-weight: bold; font-size: 13px; } .su-spoiler-icon { position: absolute; left: 7px; top: 7px; display: block; width: 20px; height: 20px; line-height: 21px; text-align: center; font-size: 14px; font-family: FontAwesome; font-weight: normal; font-style: normal; -webkit-font-smoothing: antialiased; *margin-right: .3em; } .su-spoiler-content { padding: 14px; -webkit-transition: padding-top .2s; -moz-transition: padding-top .2s; -o-transition: padding-top .2s; transition: padding-top .2s; -ie-transition: padding-top .2s; } .su-spoiler.su-spoiler-closed > .su-spoiler-content { height: 0; margin: 0; padding: 0; overflow: hidden; border: none; opacity: 0; } .su-spoiler-icon-plus .su-spoiler-icon:before { content: "\f068"; } .su-spoiler-icon-plus.su-spoiler-closed .su-spoiler-icon:before { content: "\f067"; } .su-spoiler-icon-plus-circle .su-spoiler-icon:before { content: "\f056"; } .su-spoiler-icon-plus-circle.su-spoiler-closed .su-spoiler-icon:before { content: "\f055"; } .su-spoiler-icon-plus-square-1 .su-spoiler-icon:before { content: "\f146"; } .su-spoiler-icon-plus-square-1.su-spoiler-closed .su-spoiler-icon:before { content: "\f0fe"; } .su-spoiler-icon-plus-square-2 .su-spoiler-icon:before { content: "\f117"; } .su-spoiler-icon-plus-square-2.su-spoiler-closed .su-spoiler-icon:before { content: "\f116"; } .su-spoiler-icon-arrow .su-spoiler-icon:before { content: "\f063"; } .su-spoiler-icon-arrow.su-spoiler-closed .su-spoiler-icon:before { content: "\f061"; } .su-spoiler-icon-arrow-circle-1 .su-spoiler-icon:before { content: "\f0ab"; } .su-spoiler-icon-arrow-circle-1.su-spoiler-closed .su-spoiler-icon:before { content: "\f0a9"; } .su-spoiler-icon-arrow-circle-2 .su-spoiler-icon:before { content: "\f01a"; } .su-spoiler-icon-arrow-circle-2.su-spoiler-closed .su-spoiler-icon:before { content: "\f18e"; } .su-spoiler-icon-chevron .su-spoiler-icon:before { content: "\f078"; } .su-spoiler-icon-chevron.su-spoiler-closed .su-spoiler-icon:before { content: "\f054"; } .su-spoiler-icon-chevron-circle .su-spoiler-icon:before { content: "\f13a"; } .su-spoiler-icon-chevron-circle.su-spoiler-closed .su-spoiler-icon:before { content: "\f138"; } .su-spoiler-icon-caret .su-spoiler-icon:before { content: "\f0d7"; } .su-spoiler-icon-caret.su-spoiler-closed .su-spoiler-icon:before { content: "\f0da"; } .su-spoiler-icon-caret-square .su-spoiler-icon:before { content: "\f150"; } .su-spoiler-icon-caret-square.su-spoiler-closed .su-spoiler-icon:before { content: "\f152"; } .su-spoiler-icon-folder-1 .su-spoiler-icon:before { content: "\f07c"; } .su-spoiler-icon-folder-1.su-spoiler-closed .su-spoiler-icon:before { content: "\f07b"; } .su-spoiler-icon-folder-2 .su-spoiler-icon:before { content: "\f115"; } .su-spoiler-icon-folder-2.su-spoiler-closed .su-spoiler-icon:before { content: "\f114"; } .su-spoiler-style-default { } .su-spoiler-style-default > .su-spoiler-title { padding-left: 27px; padding-right: 0; } .su-spoiler-style-default > .su-spoiler-title > .su-spoiler-icon { left: 0; } .su-spoiler-style-default > .su-spoiler-content { padding: 1em 0 1em 27px; } .su-spoiler-style-fancy { border: 1px solid #ccc; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; background: #fff; color: #333; } .su-spoiler-style-fancy > .su-spoiler-title { border-bottom: 1px solid #ccc; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; background: #f0f0f0; font-size: 0.9em; } .su-spoiler-style-fancy.su-spoiler-closed > .su-spoiler-title { border: none; } .su-spoiler-style-fancy > .su-spoiler-content { -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; } .su-spoiler-style-simple { border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; } .su-spoiler-style-simple > .su-spoiler-title { padding: 5px 10px; background: #f0f0f0; color: #333; font-size: 0.9em; } .su-spoiler-style-simple > .su-spoiler-title > .su-spoiler-icon { display: none; } .su-spoiler-style-simple > .su-spoiler-content { padding: 1em 10px; background: #fff; color: #333; } /* Quote ---------------------------------------------------------------*/ .su-quote-style-default { position: relative; margin-bottom: 1.5em; padding: 0.5em 3em; font-style: italic; } /*.su-quote-style-default.su-quote-has-cite { margin-bottom: 3em; } */ .su-quote-style-default:before, .su-quote-style-default:after { position: absolute; display: block; width: 20px; height: 20px; background-image: url('../images/quote.png'); content: ''; } .su-quote-style-default:before { top: 0; left: 0; background-position: 0 0; } .su-quote-style-default:after { right: 0; bottom: 0; background-position: -20px 0; } .su-quote-style-default .su-quote-cite { display: block; text-align: right; font-style: normal; } .su-quote-style-default .su-quote-cite:before { content: "\2014\0000a0"; } .su-quote-style-default .su-quote-cite a { text-decoration: underline; } /* Pullquote ---------------------------------------------------------------*/ .su-pullquote { display: block; width: 30%; padding: 0.5em 1em; } .su-pullquote-align-left { margin: 0.5em 1.5em 1em 0; padding-left: 0; float: left; border-right: 5px solid #eee; } .su-pullquote-align-right { margin: 0.5em 0 1em 1.5em; padding-right: 0; float: right; border-left: 5px solid #eee; } /* Row + Column ---------------------------------------------------------------*/ .su-row { clear: both; zoom: 1; margin-bottom: 1.5em; } .su-row:before, .su-row:after { display: table; content: ""; } .su-row:after { clear: both; } .su-column { display: block; margin: 0 4% 0 0; float: left; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .su-column-last { margin-right: 0; } .su-row .su-column { margin: 0 0 0 4%; } .su-row .su-column.su-column-size-1-1 { margin-left: 0; margin-right: 0; } .su-row .su-column:first-child { margin-left: 0; } .su-column-centered { margin-right: auto !important; margin-left: auto !important; float: none !important; } .su-column img, .su-column iframe, .su-column object, .su-column embed { max-width: 100%; } @media only screen { [class*="su-column"] + [class*="su-column"]:last-child { float: right; } } .su-column-size-1-1 { width: 100%; } .su-column-size-1-2 { width: 48%; } .su-column-size-1-3 { width: 30.66%; } .su-column-size-2-3 { width: 65.33%; } .su-column-size-1-4 { width: 22%; } .su-column-size-3-4 { width: 74%; } .su-column-size-1-5 { width: 16.8%; } .su-column-size-2-5 { width: 37.6%; } .su-column-size-3-5 { width: 58.4%; } .su-column-size-4-5 { width: 79.2%; } .su-column-size-1-6 { width: 13.33%; } .su-column-size-5-6 { width: 82.66%; } /* Styles for screens that are less than 768px */ @media only screen and (max-width: 768px) { .su-column { width: 100% !important; margin: 0 0 1.5em 0 !important; float: none !important; } .su-row .su-column:last-child { margin-bottom: 0 !important; } } /* Service ---------------------------------------------------------------*/ .su-service { position: relative; margin: 0 0 1.5em 0; } .su-service-title { display: block; margin-bottom: 0.5em; color: #333; font-weight: bold; font-size: 1.1em; } .su-service-title img { position: absolute; top: 0; left: 0; display: block !important; margin: 0 !important; padding: 0 !important; border: none !important; -webkit-box-shadow: none !important; -moz-box-shadow: none !important; box-shadow: none !important; } .su-service-title i { position: absolute; top: 0; left: 0; display: block !important; width: 1em; height: 1em; text-align: center; line-height: 1em; } .su-service-content { line-height: 1.4; } /* Box ---------------------------------------------------------------*/ .su-box { margin: 0 0 1.5em 0; border-width: 2px; border-style: solid; } .su-box-title { display: block; padding: 0.5em 1em; font-weight: bold; font-size: 1.1em; } .su-box-content { background-color: #fff; color: #444; padding: 1em; } .su-box-style-soft .su-box-title { background-image: url('../images/styles/style-soft.png'); background-position: 0 0; background-repeat: repeat-x; } .su-box-style-glass .su-box-title { background-image: url('../images/styles/style-glass.png'); background-position: 0 50%; background-repeat: repeat-x; } .su-box-style-bubbles .su-box-title { background-image: url('../images/styles/style-bubbles.png'); background-position: 0 50%; background-repeat: repeat-x; } .su-box-style-noise .su-box-title { background-image: url('../images/styles/style-noise.png'); background-position: 0 0; background-repeat: repeat-x; } /* Note ---------------------------------------------------------------*/ .su-note { margin: 0 0 1.5em 0; border-width: 0px; border-style: solid; } .su-note-inner { padding: 1em; border-width: 0px; border-style: solid; box-shadow: 3px 3px 6px #d0d0d0; } /* Expand ---------------------------------------------------------------*/ .su-expand { margin: 0 0 1.5em 0; } .su-expand-content { overflow: hidden; } .su-expand-link { margin-top: 0.5em; cursor: pointer; } .su-expand-link:hover { opacity: 0.7; filter: alpha(opacity=70); } .su-expand-link a, .su-expand-link a:hover, .su-expand-link a:active, .su-expand-link a:visited, .su-expand-link a:focus { display: inline; text-decoration: none; background: transparent; border: none; } .su-expand-link-style-default .su-expand-link a, .su-expand-link-style-default .su-expand-link a:hover { text-decoration: none; } .su-expand-link-style-underlined .su-expand-link span { text-decoration: underline; } .su-expand-link-style-dotted .su-expand-link span { border-bottom: 1px dotted #333; } .su-expand-link-style-dashed .su-expand-link span { border-bottom: 1px dashed #333; } .su-expand-link-style-button .su-expand-link a { display: inline-block; margin-top: 0.2em; padding: 0.2em 0.4em; border: 2px solid #333; } .su-expand-link-more { display: none; } .su-expand-link-less { display: block; } .su-expand-collapsed .su-expand-link-more { display: block; } .su-expand-collapsed .su-expand-link-less { display: none; } .su-expand-link i { display: inline-block; margin: 0 0.3em 0 0; vertical-align: middle; color: inherit; } .su-expand-link img { display: inline-block; width: 1em; height: 1em; margin: 0 0.3em 0 0; vertical-align: middle; } /* Lightbox content ---------------------------------------------------------------*/ .su-lightbox-content { position: relative; margin: 0 auto; } .mfp-content .su-lightbox-content, #su-generator .su-lightbox-content { display: block !important; } .su-lightbox-content-preview { width: 100%; min-height: 300px; background: #444; overflow: hidden; } .su-lightbox-content h1, .su-lightbox-content h2, .su-lightbox-content h3, .su-lightbox-content h4, .su-lightbox-content h5, .su-lightbox-content h6 { color: inherit; } /* Common margin resets for box elements ---------------------------------------------------------------*/ .su-column-inner > *:first-child, .su-accordion > *:first-child, .su-spoiler-content > *:first-child, .su-service-content > *:first-child, .su-box-content > *:first-child, .su-note-inner > *:first-child, .su-expand-content > *:first-child, .su-lightbox-content > *:first-child { margin-top: 0; } .su-column-inner > *:last-child, .su-tabs-pane > *:last-child, .su-accordion > *:last-child, .su-spoiler-content > *:last-child, .su-service-content > *:last-child, .su-box-content > *:last-child, .su-note-inner > *:last-child, .su-expand-content > *:last-child, .su-lightbox-content > *:last-child { margin-bottom: 0; } </style> <script> (function(){ var html_jquery_obj = jQuery('html'); if (html_jquery_obj.length && (html_jquery_obj.is('.ie8') || html_jquery_obj.is('.ie9'))) { var path = '/assets/style2.css'; jQuery.get(path, function(data) { var str_split_separator = '#td_css_split_separator'; var arr_splits = data.split(str_split_separator); var arr_length = arr_splits.length; if (arr_length > 1) { var dir_path = '/wp-content/themes/Newspaper'; var splited_css = ''; for (var i = 0; i < arr_length; i++) { if (i > 0) { arr_splits[i] = str_split_separator + ' ' + arr_splits[i]; } //jQuery('head').append('<style>' + arr_splits[i] + '</style>'); var formated_str = arr_splits[i].replace(/\surl\(\'(?!data\:)/gi, function regex_function(str) { return ' url(\'' + dir_path + '/' + str.replace(/url\(\'/gi, '').replace(/^\s+|\s+$/gm,''); } ); splited_css += "<style>" + formated_str + "</style>"; } var td_theme_css = jQuery('link#td-theme-css'); if (td_theme_css.length) { td_theme_css.after(splited_css); } } } ); } } )(); </script> </body> </html>