Skip to content

Latest commit

 

History

History
599 lines (444 loc) · 27.8 KB

notlar.md

File metadata and controls

599 lines (444 loc) · 27.8 KB

NOTLAR

Bu dosya ile, internette gezerken beğendiğim ve eğitim notlarına eklenebileceğini düşündüğüm çeşitli başlıkları not etmeye çalışıyorum.

Git

Veritabanı

Çeşitli Konular

JavaScript

SATIŞ SÖZLEŞMESİ OLUŞTURMA ÖRNEĞİ

JS Browser Storage IndexedDB - TercihRobotu

Dosya Paylaşma Projesi Örneği TODO: Yapılacak

  • Form Ekranı Öğeleri: Dosya Seç, Alıcı eMail, Açıklama, Gönder!
  • Form Ekranı tasarlanacak
  • Dosya Adı, Alıcı eMail, Açıklama DB'ye kaydedilecek (TextDosya sürümü da hazırlanabilir)
  • Dosya için parola üretilecek
  • Dosya yüklenme zamanı kaydedilecek ve 60 dakika sonra silinmesi sağlanacak
  • Parola ve indirme linki email ile bildirilecek
  • Zaman dolunca dosya silinmelidir
  • 3 indirme sonrasında dosya otomatik silinmelidir.
  • Her indirmede dosya ömrü 60 dakika uzatılacak

Notlar

  • JS, JSON ve AJAX konuları da ayrı bir başlık olarak ele alınacak.
  • PHP INPUT başlığı oluşturulmalı ve içinde GET, PUT, SESSION, COOKIES, FILE, DATABASE gibi başlıklar olmalı.
  • HTML INPUT başlığı altında FORM, input, anchor, checkbox, select vb başlıklara yer vermeliyiz. Form Validation başlığı da burada yer almalı.
  • PHP-PDO ile Sınırsız Kategori Yapımı, İç içe ve Çoklu Kategori Sistemi

İstatistikler

API - SOAP - REST - RESTFUL tanımları

SQLite ve PHP

Çeşitli Konular

Kurallı İfade Araçları, Görselleştiricileri

Örnek uygulama Yemek Sepeti

Çeşitli

PKI (Public Key Infrastructure)

Örnek Veri Setleri

Statik Web İçeriği Sunmak İçin

PHP Örneklerine eklenecek

PHP Konusunda pop3 ve IMAP anlatılmalı

https://www.youtube.com/watch?v=SBaARws0hy4&t=29s Video sonundaki artı ve eksiler önemli

REST Nedir? -- Bu sayfalardan derlenip hazırlanacak

RESİMLER:

PHP'de ORTAK DEĞİŞKEN KULLANIMI ÖNERİSİ

<?php
	error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE);
	$dbServer = 'localhost';
	$dbUsername = 'root';
	$dbPassword = 'root';
	$dbDatabase = 'rentalmanagement';
	$adminConfig = array(
		'adminUsername' => "admin",
		'adminPassword' => "02d62574863469f4f1ef99d8fc453a31",
		'smtp_server' => "",
		'smtp_encryption' => "",
		'smtp_port' => "25",
		'smtp_user' => "",
		'smtp_pass' => ""
	);

API Nedir? -- Bu sayfalardan derlenip hazırlanacak

Resimler için:

Video:

Tanımlar, Açıklamalar

İşletim Sistemi Nedir?

  • İşletim sisteminin görevi temel olarak donanım (ve diğer sistem kaynakları) ile bilgisayarda çalışan ve bu kaynakları talep eden program (veya processler) arasında ilişki kurmak ve kaynak yönetimini kontrol etmektir.

KURULUM BAŞLIĞINA EKLENECEK: mysql_secure_installation

Doğru Parola Seçiminin Önemi https://wpengine.com/unmasked/ Okuduğum en zengin içerikli parola kullanım analizi yazısı. Özellikle global markaların üst düzey yöneticilerinin seçtiği parolalar firmaların bilgi güvenliği farkındalık seviyelerini anlatma/göstermesi açısından ibretlik. Başka bir açıdan bakıldığında, ne kadar zorlasak da güçlü parola kullanımı önerisi insanoğlunun doğasına aykırı bir öneri gibi duruyor.

TELNET Telnet, Internet ağı üzerindeki çok kullanıcılı bir makineye uzaktaki başka bir makineden bağlanmak için geliştirilen bir TCP/IP protokolü ve bu işi yapan programlara verilen genel isimdir.

telnet localhost 80
GET /s.php HTTP/1.1
HOST: localhost

ENTER,ENTER

Link için DOWNLOAD özelliği

  • The download attribute, when used on an anchor tag, will tell a browser to directly download the linked resource, rather than navigate to it. Here's how to put it into practice:
  • download özelliği bağlantı etiketi üzerinde kullanıldığında, indirme özelliği bir tarayıcıya yönlendirmek yerine doğrudan bağlı kaynağı indirmesini söyleyecektir. İşte uygulamaya koymanın yolu: Download data

Bilişim OkurYazarlığı

PHP Error Reporting

Linux

Mac (Bunlardan bahsedelim)

  • MacPort
  • Brew

Docker

Vagrant -- Bu sayfalardan derlenip hazırlanacak

Görseller

Program Önerileri

Eğitimde Kullanılan Online Araçlar

Youtube Önerilen İçerikler

CSS Kütüphane Önerileri

JS

Git

MarkDown Editörleri

Çeşitli

OpenSource Video Editing Projects

TODO: JS FETCH komutu ile ÖRNEK YAPALIM

TODO: JS Chart İle Örnek Yapalım

HTML Form

    // strip_tags()
    //$hakkimda = htmlspecialchars($_POST['hakkimda']);
    //echo htmlspecialchars_decode($hakkimda);

    function form_filtrele($post) {
        return is_array($post) ? array_map('form_filtrele', $post) : htmlspecialchars(trim($post));
    }

    $_POST = array_map('form_filtrele', $_POST);

    function post($name) { if (isset($_POST[$name])) return $_POST[$name]; }
    function get($name) { if (isset($_GET[$name])) return $_GET[$name]; }

    echo post('hakkimda');

Güvenlik - XSS / CSRF / SQL injection

  • Klasördeki dosyalara erişimi engeller

  • deny from all

  • Dizin içeriğinin listelenmesini engelleme

  • Options -Indexes

  • Çıktı kaynaklı JS XSS'i engelleme

  • htmlspecialchars()

  • htmlspecialchars_decode()

  • Parola Hashleme

  • $HASH = password_hash($parola, PASSWORD_DEFAULT)

  • password_verify($parola, $HASH)

  • httpOnly Cookies

  • setcookie("degisken", "değer", strtotime("+1 day"), '/', null, null, true);

  • CSRF Konusu

  • Bizim sitemize başka bir siteden form POST edilmesi durumudur

  • TOKEN OLUŞTURMA: bin2hex(random_bytes(20))

  • TOKEN OLUŞTURMA: uniqid()

  • Önce bir TOKEN oluşturulup SESSION değişkenine kaydedilir.

  • Form'a bir saha eklenir ve TOKEN basılır

if($_SERVER['REQUEST_METHOD'] == 'POST') {
  Formun SUBMİTi sonrası SESSION'daki TOKEN ile FORM'daki TOKEN karşılaştırlır
}
  • SQL Injection engellemek için MUTLAKA $db->prepare ve $db->execute kullanılmalı

Videolar

Boostrap

MySQL, MySQLi, PDO

MySQL Lock Yöntemleri

PHP İÇİN GÜZEL ve UZUN BİR SUNUM

SUNUMLAR

Veri Kaynakları

Laravel

RESTful API’de yaygın olarak kullanılan HTTP metotları

  • POST – Bir kaynağı oluşturma
  • GET – Bir kaynağı getirme
  • PUT – Bir kaynağın durumunu değiştirme veya güncelleme
  • DELETE – Bir kaynağı kaldırma ya da silme

Bazı Linux Komutları

sudo apt-get install hardinfo
sudo apt autoremove
gzip DOSYAADI
gunzip DOSYAADI

sudo apt install net-tools  

Detayı: https://www.mankier.com/package/net-tools

Linux İçin Kitap: https://github.com/nuriakman/linux_kitap

Log Dosyaları:

/var/log/apache2/access.log /var/log/apache2/error.log

Güzel Yazılar

Font Siteleri

Referans Siteler

FAYDALI BİLGİLER

Renk Paletleri

Design Patterns: "Tried and True Techniques for solving common programming problems."

History of Web

  • HTML was initially released in 1993.
  • CSS was initially released in 1996.
  • JavaScript was initially released in 1995.

Şunlar da içeriğe eklenmeli