{"id":316,"date":"2016-11-22T14:44:06","date_gmt":"2016-11-22T12:44:06","guid":{"rendered":"http:\/\/fatihsoysal.com\/blog\/?p=316"},"modified":"2018-03-01T17:03:21","modified_gmt":"2018-03-01T15:03:21","slug":"guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/","title":{"rendered":"G\u00fcvenli PHP Uygulamalar\u0131 Olu\u015fturmak \u0130\u00e7in Yararl\u0131 \u0130pu\u00e7lar\u0131"},"content":{"rendered":"<p><strong><strong>PHP<\/strong>, bildi\u011finiz gibi web i\u00e7in en pop\u00fcler programlama dillerinden biridir. Her ne kadar birileri bunu kabullenmek istemese de. Kullan\u0131m\u0131 olduk\u00e7a esnek olan bu dil\u00a0programc\u0131ya \u00e7ok fazla yard\u0131mc\u0131 olabilir ayn\u0131 zamanda g\u00fcvenlik a\u00e7\u0131klar\u0131 konusunda\u00a0barikatlar da yaratabilir.<\/strong><\/p>\n<p>Bu yaz\u0131da, baz\u0131 yayg\u0131n <strong>PHP<\/strong> g\u00fcvenlik tuzaklar\u0131ndan ve geli\u015ftirme hatalar\u0131ndan ka\u00e7\u0131nman\u0131za yard\u0131mc\u0131 olacak 5 ipucu inceleyece\u011fiz. Peki g\u00fcvenlik zafiyetlerinden ka\u00e7\u0131nmam\u0131z i\u00e7in neler yapmam\u0131z gerekiyor?<\/p>\n<p><strong>1-\u00a0Uygun Hata Raporlar\u0131n\u0131 Kullanmal\u0131s\u0131n\u0131z<\/strong><\/p>\n<p>Proje geli\u015ftirme i\u015flemi s\u0131ras\u0131nda, uygulama hatas\u0131 raporlamas\u0131 sizin en iyi arkada\u015f\u0131n\u0131zd\u0131r. Hata raporlar\u0131, sizin yaz\u0131m hatalar\u0131 bulman\u0131za yard\u0131mc\u0131 olur. De\u011fi\u015fkenler, hatal\u0131 i\u015flev kullan\u0131m\u0131 ve \u00e7ok daha fazlas\u0131n\u0131 bu fonksiyonlar bizim i\u00e7in otomatik olarak alg\u0131lar. Ancak,\u00a0projeyi yay\u0131na al\u0131p bu hatalar\u0131 a\u00e7\u0131k olarak b\u0131rak\u0131rsan\u0131z k\u00f6t\u00fc niyetli ki\u015filere davet \u00e7\u0131karm\u0131\u015f olursunuz. Bu hatalar kullan\u0131c\u0131lar\u0131n\u0131za sisteminiz\u00a0hakk\u0131nda bilgi verebilir (\u00c7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131z yaz\u0131l\u0131m, klas\u00f6r yap\u0131s\u0131, vs.)<\/p>\n<p>Siteniz canl\u0131 yay\u0131na g\u00f6nderildikten sonra, t\u00fcm hatalar\u0131 gizledi\u011finizden emin olmal\u0131s\u0131n\u0131z. Bu, a\u015fa\u011f\u0131daki basit i\u015flevi \u00e7a\u011f\u0131rarak yap\u0131labilir.<\/p>\n<p><a href=\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/2016-11-22-14_55_10-5-Helpful-Tips-for-Creating-Secure-PHP-Applications.png\"><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-317\" src=\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/2016-11-22-14_55_10-5-Helpful-Tips-for-Creating-Secure-PHP-Applications.png\" alt=\"PHP error reporting\" width=\"618\" height=\"138\" srcset=\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/2016-11-22-14_55_10-5-Helpful-Tips-for-Creating-Secure-PHP-Applications.png 618w, https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/2016-11-22-14_55_10-5-Helpful-Tips-for-Creating-Secure-PHP-Applications-300x67.png 300w\" sizes=\"(max-width: 618px) 100vw, 618px\" \/><\/a><\/p>\n<p><strong>2- K\u00f6t\u00fc \u00d6zellikleri Devre D\u0131\u015f\u0131 B\u0131rak\u0131n<\/strong><\/p>\n<p>PHP geli\u015ftiricileri en eski zamanlar\u0131ndan beri, geli\u015ftirmeyi kolayla\u015ft\u0131rmak i\u00e7in baz\u0131 \u00f6zellikler kullan\u0131rlar. Bunlardan baz\u0131lar\u0131 inan\u0131lmaz d\u00fczeyde yararl\u0131d\u0131r\u00a0\u00f6zellikler i\u00e7erir, baz\u0131lar\u0131ysa istenmeyen sonu\u00e7lara neden olabilir. Ben bunlar\u0131 &#8220;k\u00f6t\u00fc&#8221; olarak adland\u0131r\u0131yorum. Geli\u015ftirme s\u00fcrecine ba\u015flarken yapman\u0131z gereken ilk \u015feyler, bu \u00f6zelliklerden baz\u0131lar\u0131n\u0131 devre d\u0131\u015f\u0131 b\u0131rakmak olacakt\u0131r.\u00a0Ana bilgisayar\u0131n\u0131za ba\u011fl\u0131 olarak, sanal sunucunuzda bunlar kapal\u0131 olabilir veya kapat\u0131lmayabilir. Kendi bilgisayar\u0131n\u0131zda veya benzeri di\u011fer yerel bilgisayarlarda uygulama geli\u015ftiriyorsan\u0131z bunlar muhtemelen kapat\u0131lamazlar. Bu \u00f6zelliklerden baz\u0131lar\u0131 PHP6&#8217;da da kald\u0131r\u0131lm\u0131\u015ft\u0131r, ancak PHP4&#8217;te bulunmaktad\u0131r. Yaln\u0131zca PHP5 uygulamalar\u0131nda kullan\u0131mdan kald\u0131r\u0131lm\u0131\u015ft\u0131r. PHP s\u00fcr\u00fcm\u00fcn\u00fcze g\u00f6re kontrolleri sa\u011flaman\u0131zda fayda var.<\/p>\n<p><strong>Register Globals<\/strong><\/p>\n<p>register_globals ile h\u0131zl\u0131 bir \u015fekilde uygulanma\u00a0geli\u015ftirmeye yard\u0131mc\u0131 olmas\u0131 ama\u00e7lanm\u0131\u015ft\u0131r<br \/>\n\u00d6rnek ile a\u00e7\u0131klayal\u0131m. \u00d6rne\u011fin bir URL&#8217;yi ele alal\u0131m, <strong>http: \/\/fatihsoysal.com\/index.php?var=1<\/strong>, bu bir sorgu dizesi i\u00e7erir.<br \/>\nRegister_globals deyimi, $var ile de\u011fere eri\u015fmemizi sa\u011flar. \u015eimdi kar\u015f\u0131 koruma sa\u011flamayan PHP uygulamalar\u0131na kolayca eri\u015febiliriz. Bu bizim i\u00e7in istenmeyen bir durum. Bu fonksiyonu devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in sunucunuzdaki .htaccess ve php.ini dosyan\u0131za eri\u015fim sa\u011flay\u0131n. Buradaki de\u011ferleri a\u015fa\u011f\u0131daki gibi g\u00fcncelleyin.<\/p>\n<p><em>Disabling with .htaccess<\/em><\/p>\n<pre class=\"htaccess noskimlinks noskimwords\">php_flag register_globals 0<\/pre>\n<p><em>Disabling with <span class=\"skimlinks-unlinked\">php.ini<\/span><\/em><\/p>\n<pre class=\"ini noskimlinks noskimwords\">register_globals = Off<\/pre>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-318\" src=\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/var.png\" alt=\"var\" width=\"567\" height=\"64\" srcset=\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/var.png 567w, https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/var-300x34.png 300w\" sizes=\"(max-width: 567px) 100vw, 567px\" \/><\/p>\n<p><strong>Magic Quotes (magic_quotes_gpc, magic_quotes_runtime, magic_quotes_sybase)<\/strong><\/p>\n<p>Magic Quotes, programc\u0131lar\u0131n sorunlar\u0131n\u0131 kurtarmak i\u00e7in tasarlanm\u0131\u015f bir \u00f6zellikti. Addslashes () ve benzeri di\u011fer g\u00fcvenlik \u00f6zelliklerini kodlar\u0131nda kullanmamak i\u00e7in. Bu fonksiyon birden fazla e\u011fik \u00e7izgi eklenerek hatalara neden olabilir. Veritaban\u0131 motorunda, bir\u00e7ok veritaban\u0131na \u00f6zg\u00fc karakterler vard\u0131r. Bunlar\u0131 kullanmaktan \u00e7ekinmek gerekir.\u00a0Bu fonksiyonu normal betikten devre d\u0131\u015f\u0131 b\u0131rakam\u0131yoruz. php.ini ve htaccess g\u00fcncellemesi gerekmekte.<\/p>\n<p><em>Disabling with .htaccess<\/em><\/p>\n<pre class=\"htaccess noskimlinks noskimwords\">php_flag magic_quotes_gpc 0 php_flag magic_quotes_runtime 0<\/pre>\n<p><em>Disabling with <span class=\"skimlinks-unlinked\">php.ini<\/span><\/em><\/p>\n<pre class=\"ini noskimlinks noskimwords\">magic_quotes_gpc = Off\r\nmagic_quotes_runtime = Off\r\nmagic_quotes_sybase = Off<\/pre>\n<p><strong>3- Giri\u015fi Do\u011frula<\/strong><\/p>\n<p>Yukar\u0131daki anlatt\u0131klar\u0131ma\u00a0ek olarak, koruma i\u00e7in ba\u015fka yol da girdi do\u011frulamakt\u0131r. Pek \u00e7ok uygulamada, asl\u0131nda zaten giri\u015f i\u015flemlerinde ne istenildi\u011fini herkes az \u00e7ok biliyor.<\/p>\n<p>\u00d6rne\u011fin, kullan\u0131c\u0131lar\u0131 listeleyen bir uygulama olu\u015fturdu\u011fumuzu\u00a0varsay\u0131yorum. Do\u011fum g\u00fcnlerini kullan\u0131c\u0131lar\u0131n kendi eklediklerini d\u00fc\u015f\u00fcnelim. Nelere ihtiyac\u0131m var? 1-12 aras\u0131 bir ay, bir say\u0131 olarak 1-31 aras\u0131nda bir g\u00fcn ve bir y\u0131l. (YYYY bi\u00e7iminde Uygulaman\u0131zda dil bilgisi (regex), kontrolu yapmak g\u00fcvenlik ad\u0131na m\u00fckemmel bir yoldur.<\/p>\n<div id=\"gt-res-c\" class=\"g-unit\">\n<div id=\"gt-res-p\">\n<div id=\"gt-res-data\">\n<div id=\"gt-res-wrap\">\n<div id=\"gt-res-content\">\n<div dir=\"ltr\"><span id=\"result_box\" class=\"\" lang=\"tr\"><span class=\"\">A\u015fa\u011f\u0131daki \u00f6rne\u011fe \u00a0bir g\u00f6z atal\u0131m:<\/span><\/span><\/div>\n<\/div>\n<\/div>\n<pre class=\"lang:php decode:true \">if ( ! preg_match( \"\/^[0-9]{1,2}$\/\", $_GET['month'] ) )\r\n{\r\n    \/\/ handle error\r\n}\r\nif ( ! preg_match( \"\/^[0-9]{1,2}$\/\", $_GET['day'] ) )\r\n{\r\n    \/\/ handle error\r\n}\r\nif ( ! preg_match( \"\/^[0-9]{4}$\/\", $_GET['year'] ) )\r\n{\r\n    \/\/ handle error\r\n}<\/pre>\n<div dir=\"ltr\"><\/div>\n<div id=\"gt-res-wrap\">\n<div id=\"gt-res-content\">\n<div dir=\"ltr\">\n<p><strong>4-\u00a0Kullan\u0131c\u0131 Giri\u015finde Siteler Aras\u0131 Komut Dosyas\u0131 (XSS) Sald\u0131r\u0131lar\u0131 \u0130zleme<\/strong><\/p>\n<\/div>\n<div dir=\"ltr\">Bir web uygulamas\u0131 genellikle kullan\u0131c\u0131lardan gelen girdileri kabul eder ve onu g\u00f6r\u00fcnt\u00fcler bir \u015fekilde. Bu elbette \u00e7ok \u00e7e\u015fitli \u015fekillerde olabilir HTML bi\u00e7iminde olan yorumlar, linkler\u00a0veya blog postlar\u0131 da dahil olmak \u00fczere. Data giri\u015fi\u00a0kabul edilirken HTML&#8217;ye izin vermek tehlikeli bir \u015fey olabilir. \u00c7\u00fcnk\u00fc bu dolayl\u0131 yoldan sistem \u00fczerinde javascript \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131na izin vermemiz demektir. Bir delik bile a\u00e7\u0131k b\u0131rak\u0131l\u0131rsa, Javascript \u00e7al\u0131\u015ft\u0131r\u0131labilir ve \u00e7erezler hakk\u0131nda bilgi sahibi olunulabilir. Bu \u00e7erez verileri daha sonra ger\u00e7ek bir \u00f6rne\u011fi taklit etmek i\u00e7in kullan\u0131labilir<\/div>\n<div dir=\"ltr\">Kendinizi bu t\u00fcr sald\u0131r\u0131lardan koruman\u0131n birka\u00e7 yolu vard\u0131r. Bir yolu tamamen HTML&#8217;ye izin vermemektir (ki bu en g\u00fcvenlisidir), \u00e7\u00fcnk\u00fc o zaman bunu yapmak m\u00fcmk\u00fcn de\u011fildir.\u00a0Ancak bunu yaparsak nas\u0131l blog yazaca\u011f\u0131z dedi\u011finizi duyar gibiyim, hakl\u0131s\u0131n\u0131z. Dedi\u011fim gibi bu sadece bir se\u00e7enek.<\/div>\n<div dir=\"ltr\">HTML kullanmak istiyorsan\u0131z alternatif olarak, sadece &#8220;BBCode&#8221; veya &#8220;BB Tags&#8221; olarak adland\u0131r\u0131lan pop\u00fcler bir etiket grubuna izin verebilirsiniz. Forumlarda [b] bold [\/ b] bi\u00e7imleri s\u0131kl\u0131kla g\u00f6r\u00fcl\u00fcr. Normal HTML&#8217;e izin vermeyerek b\u00f6yle bir yol izlemek\u00a0baz\u0131 bi\u00e7imlendirme \u00f6zelle\u015ftirmesine izin vermek i\u00e7in m\u00fckemmel bir yoldur.<br \/>\nBunun i\u00e7in\u00a0BBCode\u00a0k\u00fct\u00fcphanelerinden birini kullanabilirsiniz. Detayl\u0131 bilgi i\u00e7in\u00a0<a href=\"http:\/\/pear.php.net\/package\/HTML_BBCodeParser\" target=\"_blank\">HTML_BBCodeParser<\/a><\/div>\n<div dir=\"ltr\">\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-320\" src=\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/bbcode.png\" alt=\"bbcode fatihsoysal\" width=\"625\" height=\"158\" srcset=\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/bbcode.png 625w, https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/bbcode-300x76.png 300w\" sizes=\"(max-width: 625px) 100vw, 625px\" \/><\/p>\n<\/div>\n<div dir=\"ltr\"><strong>5-\u00a0SQL Enjeksiyonuna Kar\u015f\u0131 Koruma<\/strong><\/div>\n<div dir=\"ltr\">Sonuncusu fakat sona kald\u0131\u011f\u0131na bakmay\u0131n, en tan\u0131nm\u0131\u015f g\u00fcvenlik sald\u0131r\u0131lar\u0131ndan biri. En \u00f6nemlisi. <strong>Web: SQL injection<\/strong>. SQL sorgular\u0131n\u0131zda bulunan Tek t\u0131rnak ( &#8216;) veya \u00e7ift t\u0131rnak ( &#8220;) gibi \u00f6zel karaktarler\u00a0filtrelenmezse, kullan\u0131c\u0131lar sorular\u0131 her zaman do\u011fru hale getirerek sistemi kullanabilir ve b\u00f6ylece giri\u015f sistemlerini kand\u0131rabilir.<\/div>\n<div dir=\"ltr\">Neyse ki PHP, veritaban\u0131n\u0131z\u0131 korumaya yard\u0131mc\u0131 olacak birka\u00e7 ara\u00e7 sunar. Bir sql sunucusuna ba\u011fland\u0131\u011f\u0131n\u0131zda bunlar\u0131 kullanabilirsiniz.Basit bir \u00e7a\u011fr\u0131 ile \u00e7al\u0131\u015f\u0131r ve de\u011fi\u015fkenlerinizin kullan\u0131m\u0131 g\u00fcvenli olmal\u0131d\u0131r. PHP ile sunulan b\u00fcy\u00fck veritaban\u0131 sistemlerinin \u00e7o\u011funda bu koruma fonksiyonlar\u0131 bulunmaktad\u0131r.<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div dir=\"ltr\">MySQLi, bunu iki yoldan biriyle yapman\u0131za izin verir. Bir sunucuya ba\u011fland\u0131\u011f\u0131nda <strong>mysqli_real_escape_string<\/strong> i\u015fleviyle:<\/div>\n<div dir=\"ltr\"><\/div>\n<div dir=\"ltr\"><\/div>\n<pre class=\"lang:php decode:true \">$username = mysqli_real_escape_string( $GET['username'] );\r\nmysql_query( \"SELECT * FROM tbl_members WHERE username = '\".$username.\"'\");<\/pre>\n<div dir=\"ltr\">Veya haz\u0131rlanm\u0131\u015f ifadelerle.Haz\u0131rlanan ifadeler, SQL mant\u0131\u011f\u0131n\u0131 kendisine iletilen verilerden ay\u0131rman\u0131n bir y\u00f6ntemidir. MySQLi kitapl\u0131\u011f\u0131nda kullan\u0131lan i\u015flevler, de\u011fi\u015fkenleri haz\u0131r ifadeye ba\u011flad\u0131\u011f\u0131m\u0131zda girdi\u011fimizi filtreliyor. Bu \u015fekilde (bir sunucuya ba\u011fland\u0131\u011f\u0131nda) kullan\u0131labilir:<\/div>\n<div dir=\"ltr\"><\/div>\n<div dir=\"ltr\"><\/div>\n<pre class=\"lang:php decode:true \" >$id = $_GET['id'];\r\n$statement = $connection-&gt;prepare( \"SELECT * FROM tbl_members WHERE id = ?\" );\r\n$statement-&gt;bind_param( \"i\", $id );\r\n$statement-&gt;execute();<\/pre>\n<div dir=\"ltr\">En yayg\u0131n g\u00fcvenlik a\u00e7\u0131klar\u0131 ve sald\u0131r\u0131 t\u00fcrlerini sizlerle payla\u015ft\u0131m. Zaman bulduk\u00e7a makale yazmaya devam edece\u011fim.\u00a0PHP&#8217;deki g\u00fcvenlik konular\u0131 hakk\u0131nda daha fazla bilgi edinmek i\u00e7in bana e-posta adresim yada ileti\u015fim b\u00f6l\u00fcm\u00fcnden ula\u015fabilirsiniz.<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"PHP, bildi\u011finiz gibi web i\u00e7in en pop\u00fcler programlama dillerinden biridir. Her ne kadar birileri bunu kabullenmek istemese de.&hellip;","protected":false},"author":1,"featured_media":324,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[133,10],"tags":[497,79,82,78,80,81],"class_list":{"0":"post-316","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-php","8":"category-yazilim","9":"tag-featured","10":"tag-guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari","11":"tag-guvenli-uygulama-nasil-gelistirilir","12":"tag-php","13":"tag-php-guvenlik","14":"tag-php-security","15":"cs-entry","16":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>G\u00fcvenli PHP Uygulamalar\u0131 Olu\u015fturmak \u0130\u00e7in Yararl\u0131 \u0130pu\u00e7lar\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"G\u00fcvenli PHP Uygulamalar\u0131 Olu\u015fturmak \u0130\u00e7in Yararl\u0131 \u0130pu\u00e7lar\u0131\" \/>\n<meta property=\"og:description\" content=\"PHP, bildi\u011finiz gibi web i\u00e7in en pop\u00fcler programlama dillerinden biridir. Her ne kadar birileri bunu kabullenmek istemese de.&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2016-11-22T12:44:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-03-01T15:03:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/305162_a6c3.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"750\" \/>\n\t<meta property=\"og:image:height\" content=\"422\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"G\u00fcvenli PHP Uygulamalar\u0131 Olu\u015fturmak \u0130\u00e7in Yararl\u0131 \u0130pu\u00e7lar\u0131\",\"datePublished\":\"2016-11-22T12:44:06+00:00\",\"dateModified\":\"2018-03-01T15:03:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/\"},\"wordCount\":1176,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"image\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/305162_a6c3.jpg\",\"keywords\":[\"featured\",\"G\u00fcvenli PHP Uygulamalar\u0131 Olu\u015fturmak \u0130\u00e7in Yararl\u0131 \u0130pu\u00e7lar\u0131\",\"g\u00fcvenli uygulama nas\u0131l geli\u015ftirilir\",\"php\",\"php g\u00fcvenlik\",\"php security\"],\"articleSection\":[\"PHP\",\"Yaz\u0131l\u0131m\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/#respond\"]}],\"copyrightYear\":\"2016\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/\",\"name\":\"G\u00fcvenli PHP Uygulamalar\u0131 Olu\u015fturmak \u0130\u00e7in Yararl\u0131 \u0130pu\u00e7lar\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/305162_a6c3.jpg\",\"datePublished\":\"2016-11-22T12:44:06+00:00\",\"dateModified\":\"2018-03-01T15:03:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/#primaryimage\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/305162_a6c3.jpg\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/305162_a6c3.jpg\",\"width\":750,\"height\":422},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"G\u00fcvenli PHP Uygulamalar\u0131 Olu\u015fturmak \u0130\u00e7in Yararl\u0131 \u0130pu\u00e7lar\u0131\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"G\u00fcvenli PHP Uygulamalar\u0131 Olu\u015fturmak \u0130\u00e7in Yararl\u0131 \u0130pu\u00e7lar\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/","og_locale":"tr_TR","og_type":"article","og_title":"G\u00fcvenli PHP Uygulamalar\u0131 Olu\u015fturmak \u0130\u00e7in Yararl\u0131 \u0130pu\u00e7lar\u0131","og_description":"PHP, bildi\u011finiz gibi web i\u00e7in en pop\u00fcler programlama dillerinden biridir. Her ne kadar birileri bunu kabullenmek istemese de.&hellip;","og_url":"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2016-11-22T12:44:06+00:00","article_modified_time":"2018-03-01T15:03:21+00:00","og_image":[{"width":750,"height":422,"url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/305162_a6c3.jpg","type":"image\/jpeg"}],"author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"6 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"G\u00fcvenli PHP Uygulamalar\u0131 Olu\u015fturmak \u0130\u00e7in Yararl\u0131 \u0130pu\u00e7lar\u0131","datePublished":"2016-11-22T12:44:06+00:00","dateModified":"2018-03-01T15:03:21+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/"},"wordCount":1176,"commentCount":1,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"image":{"@id":"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/305162_a6c3.jpg","keywords":["featured","G\u00fcvenli PHP Uygulamalar\u0131 Olu\u015fturmak \u0130\u00e7in Yararl\u0131 \u0130pu\u00e7lar\u0131","g\u00fcvenli uygulama nas\u0131l geli\u015ftirilir","php","php g\u00fcvenlik","php security"],"articleSection":["PHP","Yaz\u0131l\u0131m"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/#respond"]}],"copyrightYear":"2016","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/","url":"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/","name":"G\u00fcvenli PHP Uygulamalar\u0131 Olu\u015fturmak \u0130\u00e7in Yararl\u0131 \u0130pu\u00e7lar\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/#primaryimage"},"image":{"@id":"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/305162_a6c3.jpg","datePublished":"2016-11-22T12:44:06+00:00","dateModified":"2018-03-01T15:03:21+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/"]}]},{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/#primaryimage","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/305162_a6c3.jpg","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2016\/11\/305162_a6c3.jpg","width":750,"height":422},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/guvenli-php-uygulamalari-olusturmak-icin-yararli-ipuclari\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"G\u00fcvenli PHP Uygulamalar\u0131 Olu\u015fturmak \u0130\u00e7in Yararl\u0131 \u0130pu\u00e7lar\u0131"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/316","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=316"}],"version-history":[{"count":17,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/316\/revisions"}],"predecessor-version":[{"id":350,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/316\/revisions\/350"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media\/324"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=316"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=316"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}