{"id":423,"date":"2010-06-25T13:07:29","date_gmt":"2010-06-25T13:07:29","guid":{"rendered":"http:\/\/www.erbugkaya.com\/?p=423"},"modified":"2014-01-16T23:46:59","modified_gmt":"2014-01-16T23:46:59","slug":"dinamik-web-sitesi-bolum-07-veri-guncelleme-a-login","status":"publish","type":"post","link":"http:\/\/erbugkaya.com\/?p=423","title":{"rendered":"Dinamik Web Sitesi &#8211; B\u00f6l\u00fcm 07 &#8211; Veri G\u00fcncelleme \/ A &#8211; Login"},"content":{"rendered":"<p>22\/5\/2007<br \/>\nMerhaba bu makale serisinin \u00f6nceki b\u00f6l\u00fcmlerinde ad\u0131m ad\u0131m dinamik bir web sitesi olu\u015fturduk. \u015eimdi ise o sitenin bilgilerini g\u00fcncellemeyi incelleyece\u011fiz. Elbette bunu yapmak i\u00e7in ilk \u00f6nce bir yetkilendirme olu\u015fturmal\u0131y\u0131z. Bunun i\u00e7in bu makalemde Expression Web&#8217;de kullan\u0131c\u0131 yaratma ve login i\u015flemlerini anlataca\u011f\u0131m. Serinin ileriki makalelerinde siteyi g\u00fcncelleyece\u011fiz. Elbette bu g\u00fcncellemeler ve g\u00fcvenlik Expression Web ile belli bir s\u0131n\u0131rda olacak. Daha kar\u0131\u015f\u0131k ve \u00fcst seviye g\u00fcncelleme i\u015flemleri i\u00e7in Visual Studio ve programla bilgisi devreye girmektedir.<\/p>\n<p><!--more--><br \/>\nFolder List&#8217;teki web.config dosyas\u0131n\u0131 a\u00e7al\u0131m. Bu dosyay\u0131 Expression Web, database ba\u011flant\u0131s\u0131 kurdu\u011fumuzda otomatik yaratm\u0131\u015ft\u0131. FRP Kitap Sitesi i\u00e7in olu\u015fan web.config dosyas\u0131 a\u015fa\u011f\u0131daki gibidir.<\/p>\n<p>web.config&#8217;in sonuna alttaki kodu biz ekleyece\u011fiz. B\u00f6ylece g\u00fcvenli\u011fin form bazl\u0131 olaca\u011f\u0131n\u0131 belirtmi\u015f olduk. Yani yap\u0131lacak de\u011fi\u015fiklikler i\u00e7in kullan\u0131c\u0131lar\u0131n formlar\u0131 kullanarak siteye ba\u011flanmas\u0131 gerekecek.<\/p>\n<p>&lt;configuration&gt;<\/p>\n<p>&lt;connectionStrings&gt;<br \/>\n&lt;add name=&#8221;FrpKitapSitesiConnectionString10&#8243; connectionString=&#8221;Data Source=EKAYA\\SQLEXPRESS;Initial Catalog=FrpKitapSitesi;Integrated Security=True&#8221;<br \/>\nproviderName=&#8221;System.Data.SqlClient&#8221; \/&gt;<br \/>\n&lt;\/connectionStrings&gt;<\/p>\n<p><span style=\"color: #ff0000;\">&lt;system.web&gt;<br \/>\n&lt;roleManager enabled=&#8221;true&#8221; \/&gt;<br \/>\n&lt;authentication mode=&#8221;Forms&#8221; \/&gt;<br \/>\n&lt;\/system.web&gt;<\/span><\/p>\n<p>&lt;\/configuration&gt;<\/p>\n<p>\u015eimdi master page&#8217;den yeni bir sayfa olu\u015fturup, login.aspx olarak kaydediyoruz. Content alan\u0131na Toolbox&gt;ASP.NET Controls&gt;Login alt\u0131ndan Login kontrol\u00fcn\u00fc s\u00fcr\u00fckleyip b\u0131rak\u0131yoruz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_01.jpg\" width=\"208\" height=\"309\" \/><\/p>\n<p>Login kontrol\u00fcm\u00fcz content aln\u0131nda haz\u0131r. Her kontrolde oldu\u011fu gibi Login&#8217;inde k\u00fc\u00e7\u00fck okla a\u00e7\u0131lan \u00f6zellikleri ile ilgili bir task men\u00fcs\u00fc bulunmakta.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_02.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_02.jpg\" width=\"235\" height=\"99\" \/><\/a><\/p>\n<p>Bu men\u00fcdeki AutoFormat&#8217;a t\u0131klayarak diledi\u011finiz bir g\u00f6r\u00fcn\u00fc\u015f\u00fc se\u00e7ebilirsiniz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_03.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_03.jpg\" width=\"282\" height=\"199\" \/><\/a><\/p>\n<p>Ama login ekran\u0131n\u0131n g\u00f6r\u00fcn\u00fc\u015f\u00fcn\u00fc Tag Properties kutusunu kullanarak biz belirleyece\u011fiz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_05.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_05.jpg\" width=\"230\" height=\"245\" \/><\/a><\/p>\n<div>&lt;asp:Login runat=&#8221;server&#8221; id=&#8221;Login1&#8243; BackColor=&#8221;#333333&#8243; BorderColor=&#8221;Black&#8221; BorderPadding=&#8221;5&#8243; BorderStyle=&#8221;Dotted&#8221; BorderWidth=&#8221;1px&#8221; FailureText=&#8221;Kullan\u0131c\u0131 ad\u0131 veya \u015fifre yaln\u0131\u015f. Tekrar deneyin&#8221; Font-Bold=&#8221;True&#8221; Font-Overline=&#8221;False&#8221; Font-Strikeout=&#8221;False&#8221; LoginButtonText=&#8221;Ba\u011flan&#8221; PasswordLabelText=&#8221;\u015eifre:&#8221; RememberMeText=&#8221;Beni hat\u0131rla.&#8221; TitleText=&#8221;Y\u00f6netim Paneli Giri\u015f&#8221; UserNameLabelText=&#8221;Kullan\u0131c\u0131 ad\u0131: &#8220;&gt;<br \/>\n&lt;TitleTextStyle BackColor=&#8221;Black&#8221; \/&gt;<br \/>\n&lt;TextBoxStyle BackColor=&#8221;#CCCCCC&#8221; Width=&#8221;150px&#8221; BorderWidth=&#8221;1px&#8221; BorderColor=&#8221;Black&#8221; \/&gt;<br \/>\n&lt;LoginButtonStyle BackColor=&#8221;Black&#8221; BorderStyle=&#8221;Solid&#8221; ForeColor=&#8221;White&#8221; BorderWidth=&#8221;1px&#8221; BorderColor=&#8221;#D2D2D2&#8243; Font-Size=&#8221;Small&#8221; \/&gt;<br \/>\n&lt;FailureTextStyle ForeColor=&#8221;#FFFFCC&#8221; \/&gt;<br \/>\n&lt;\/asp:Login&gt;<\/div>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_06.jpg\" width=\"309\" height=\"175\" \/><\/p>\n<p>Login ekran\u0131m\u0131z\u0131 haz\u0131rlad\u0131\u011f\u0131m\u0131za g\u00f6re \u015fimdi bu login i\u00e7in kullan\u0131c\u0131 tan\u0131mlamam\u0131z, yaratmam\u0131z gerekiyor. Bunun i\u00e7in \u00e7ok fazla kayg\u0131lanman\u0131za gerek kalmayacak. Expression Web bunu bizim i\u00e7in kolayca halledecek. Haz\u0131rlayal\u0131m. admin.master master page&#8217;inden bir sayfa yarat\u0131p, user_temp.aspx olarak kaydediyoruz. Bu kullan\u0131c\u0131 yaratmam\u0131za yarayacak bir sayfa olacak. Her \u015fey bitti\u011finde bu sayfay\u0131 m\u00fcmk\u00fcnse silece\u011fiz. Kesinlikle sitenin yay\u0131n yapaca\u011f\u0131 hostinge bu sayfan\u0131n upload edilmemesi gerekiyor. \u015eimdi sayfan\u0131n content alan\u0131na Toolbox&gt;ASP.NET Controls&gt;Login alt\u0131ndan CreateUserWizard kontrol\u00fcn\u00fc s\u00fcr\u00fckleyip b\u0131rak\u0131yoruz.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_07.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_07.jpg\" width=\"298\" height=\"184\" \/><\/a><\/p>\n<p>Bu kontrol\u00fcnde bir \u00e7ok \u00f6zelli\u011fi var ama bu \u00f6rnekte biz bu i\u015fi \u00fcyelik i\u00e7in de\u011fil de, siteyi d\u00fczenleyebilmek i\u00e7in yapt\u0131\u011f\u0131m\u0131zdan \u00f6zellikleri ile ilgilenmeyece\u011fiz. Sayfay\u0131 (F12) ile browserda a\u00e7\u0131yoruz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_08.jpg\" width=\"296\" height=\"252\" \/><\/p>\n<p>\u015eimdi siteyi d\u00fczenleyecek y\u00f6netici olarak formu dolduruyoruz. Bu a\u015famada password k\u0131sm\u0131 \u00f6nemli. \u015eifrenizin en az 7 karakterden ve en az bir adet non-alphanumeric karakter i\u00e7eriyor. Non-alphanumeric karakter say\u0131lar ve harfler d\u0131\u015f\u0131ndaki her \u015feyi i\u00e7eriyor. Ben burada \u015fifreyi &#8220;erbugkaya_&#8221; olarak belirledim.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_09.jpg\" width=\"290\" height=\"242\" \/><\/p>\n<p>Create User ile i\u015flemi tamamlay\u0131nca kar\u015f\u0131m\u0131za ba\u015far\u0131yla tamamland\u0131 mesaj\u0131 geliyor. Ger\u00e7ekten bu kadar m\u0131? \u015eimdi bir kullan\u0131c\u0131 m\u0131 yarat\u0131ld\u0131? Peki nereye?<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_10.jpg\" width=\"284\" height=\"103\" \/><\/p>\n<p>Expression Web bu i\u015fi de bizim i\u00e7in halletti. Site klas\u00f6r\u00fcn\u00fcn alt\u0131nda App_Data isminde bir klas\u00f6r ve i\u00e7inde kullan\u0131c\u0131 bilgilerini tutan bir database yaratt\u0131.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_11.jpg\" width=\"248\" height=\"420\" \/><\/p>\n<p>Biraz \u00f6nce haz\u0131rlad\u0131\u011f\u0131m\u0131z login.aspx sayfas\u0131n\u0131 tekrar a\u00e7\u0131yoruz. Login olunca hangi sayfaya y\u00f6nlendirilece\u011fimizi ayarlayaca\u011f\u0131z. Bunun i\u00e7in login kontrol\u00fcn\u00fcn Tag Properties kutusunda, DestinationPageUrl&#8217;yi kitap h\u0131zl\u0131 listesi sayfas\u0131na quickList.aspx&#8217;e y\u00f6nlendiriyoruz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_13.jpg\" width=\"217\" height=\"20\" \/><\/p>\n<p>login.aspx sayfas\u0131n\u0131 kontrol i\u00e7in \u00f6n izleme ile browser&#8217;da a\u00e7\u0131yoruz. Ve kullan\u0131c\u0131 ad\u0131m\u0131z\u0131 \u015fifremizi girip ba\u011flan\u0131yoruz. Her \u015feyi do\u011fru yapt\u0131ysak kitaplar\u0131n h\u0131zl\u0131 listesi sayfas\u0131na ba\u011flanmal\u0131y\u0131z.<\/p>\n<p>\u015eimdi login olmu\u015f kullan\u0131c\u0131ya logout imkan\u0131 sunmal\u0131y\u0131z. Ayn\u0131 zamanda kullan\u0131c\u0131y\u0131 da bildirece\u011fiz.\u00a0 Bu logout imkan\u0131n\u0131n\u00a0 ba\u011flan\u0131lm\u0131\u015f her sayfada g\u00f6r\u00fcnmesini istedi\u011fimiz i\u00e7in bunu navigasyonun alt\u0131ndaki alana haz\u0131rlayaca\u011f\u0131z. Bunun i\u00e7in master page&#8217;i a\u00e7\u0131yoruz.ve navbox DIV&#8217;nin i\u00e7ine UL sonuna Toolbox&gt;ASP.NET Controls&gt;Login alt\u0131ndan LoginView kontrol\u00fcn\u00fc s\u00fcr\u00fckleyip b\u0131rak\u0131yoruz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_14.jpg\" width=\"366\" height=\"191\" \/><\/p>\n<div>&lt;div id=&#8221;navBox&#8221;&gt;<br \/>\n&lt;ul&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;default.aspx&#8221;&gt;Ana Sayfa&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;bookLists.aspx&#8221;&gt;Kitap Listesi&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;quickList.aspx&#8221;&gt;H\u0131zl\u0131 Liste&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;writers.aspx&#8221;&gt;Yazarlar&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;messages.aspx&#8221;&gt;Mesajlar&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;frp.aspx&#8221;&gt;FRP Nedir?&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;\/ul&gt;<br \/>\n&lt;asp:LoginView runat=&#8221;server&#8221; id=&#8221;LoginView1&#8243;&gt;<br \/>\n&lt;\/asp:LoginView&gt;<br \/>\n&lt;\/div&gt;<\/div>\n<p>LoginView Tasks kutusunda LoggedInTemplate&#8217;i se\u00e7iyoruz ve template alan\u0131na &#8220;Merhaba&#8221; yaz\u0131p bir bo\u015fluk b\u0131rak\u0131yoruz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_15.jpg\" width=\"370\" height=\"154\" \/><\/p>\n<p>\u015eimdi Merhaba kelimesinin devam\u0131na Toolbox&gt;ASP.NET Controls&gt;Login alt\u0131ndan LoginName kontrol\u00fcn\u00fc s\u00fcr\u00fckleyip b\u0131rak\u0131yoruz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_16.jpg\" width=\"176\" height=\"118\" \/><\/p>\n<p>LoginName kontrol\u00fcn\u00fcn arkas\u0131na bu sefer Toolbox&gt;ASP.NET Controls&gt;Login alt\u0131ndaki LoginStatus kontrol\u00fcn\u00fc s\u00fcr\u00fckleyip b\u0131rak\u0131yoruz. Ve tasks kutusunda Logged In&#8217;i se\u00e7iyoruz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_17.jpg\" width=\"287\" height=\"92\" \/><\/p>\n<p>LoginStatus kontrol\u00fcn\u00fcn tag properties kutusundaki LogoutText&#8217;i \u00c7\u0131k\u0131\u015f olarak de\u011fi\u015ftiriyoruz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_18.jpg\" width=\"195\" height=\"20\" \/><\/p>\n<p>Ve \u00e7\u0131k\u0131\u015f yapt\u0131\u011f\u0131m\u0131zda hangi sayfada olursak olal\u0131m tekrar login sayfas\u0131na d\u00f6nmek istiyorsak, LogoutAction&#8217;\u0131 RedirectToLoginPage olarak ayarl\u0131yoruz.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_19.jpg\" width=\"255\" height=\"19\" \/><\/p>\n<p>G\u00f6r\u00fcn\u00fc\u015f\u00fc d\u00fczenlemek i\u00e7in logout b\u00f6l\u00fcm\u00fcne \u00f6zel CSS kural\u0131 yaz\u0131yoruz.<\/p>\n<div>.logoutText {<br \/>\ncolor: #000000;<br \/>\nmargin-left:10px;<br \/>\n}<\/div>\n<p>Merhabadan ba\u015flayan diziyi SPAN tag\u0131 i\u00e7ine al\u0131yoruz ve CSS kural\u0131m\u0131z bu SPAN&#8217;a uyguluyoruz.<\/p>\n<div>&lt;asp:LoginView runat=&#8221;server&#8221; id=&#8221;LoginView1&#8243;&gt;<br \/>\n&lt;LoggedInTemplate&gt;<br \/>\n&lt;span&gt;Merhaba<br \/>\n&lt;asp:LoginName runat=&#8221;server&#8221; id=&#8221;LoginName1&#8243;\/&gt;&amp;nbsp;|&amp;nbsp;<br \/>\n&lt;asp:LoginStatus runat=&#8221;server&#8221; id=&#8221;LoginStatus1&#8243; LogoutText=&#8221;\u00c7\u0131k\u0131\u015f&#8221; LogoutAction=&#8221;RedirectToLoginPage&#8221; \/&gt;<br \/>\n&lt;\/span&gt;<br \/>\n&lt;\/LoggedInTemplate&gt;<br \/>\n&lt;\/asp:LoginView&gt;<\/div>\n<p>\u015eimdi buraya kadar yapt\u0131klar\u0131m\u0131z\u0131 test edelim. \u0130lk \u00f6nce login.aspx sayfas\u0131n\u0131 a\u00e7\u0131yoruz. ve (F12) ile browserda a\u00e7\u0131yoruz. Kullan\u0131c\u0131 ad\u0131 ve \u015fifremizi girip &#8220;Ba\u011flan&#8221; a bas\u0131nca her \u015fey yolunda ise kitap listemizin a\u00e7\u0131lmas\u0131 gerekir.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_20.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_20.jpg\" width=\"360\" height=\"186\" \/><\/a><\/p>\n<p>Bu sayfada men\u00fcn\u00fcn alt\u0131nda bize \u00f6zel bir kar\u015f\u0131lama ve &#8220;\u00c7\u0131k\u0131\u015f&#8221; bulunmal\u0131. E\u011fer \u00e7\u0131k\u0131\u015fa bast\u0131\u011f\u0131m\u0131zda sayfa login.aspx sayfas\u0131na d\u00f6n\u00fcyorsa login i\u015flemlerini ba\u015far\u0131yla tamamlam\u0131\u015f\u0131z demektir.<\/p>\n<p><a href=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_21.jpg\"><img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazgelistir.com\/Makaleler\/Resimler\/1000001359_21.jpg\" width=\"360\" height=\"351\" \/><\/a><\/p>\n<p>Bu makalemde sitedeki verileri g\u00fcncellemenin ilk a\u015famas\u0131 olarak kullan\u0131c\u0131 yaratma ve login i\u015flemlerini anlatt\u0131m.<\/p>\n<p>\u0130yi \u00e7al\u0131\u015fmalar<\/p>\n<p>Te\u015fekk\u00fcrler.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>22\/5\/2007 Merhaba bu makale serisinin \u00f6nceki b\u00f6l\u00fcmlerinde ad\u0131m ad\u0131m dinamik bir web sitesi olu\u015fturduk. \u015eimdi ise o sitenin bilgilerini g\u00fcncellemeyi incelleyece\u011fiz. Elbette bunu yapmak i\u00e7in ilk \u00f6nce bir yetkilendirme olu\u015fturmal\u0131y\u0131z. Bunun i\u00e7in bu makalemde Expression Web&#8217;de kullan\u0131c\u0131 yaratma ve login i\u015flemlerini anlataca\u011f\u0131m. Serinin ileriki makalelerinde siteyi g\u00fcncelleyece\u011fiz. Elbette bu g\u00fcncellemeler ve g\u00fcvenlik Expression Web ile [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[29],"class_list":["post-423","post","type-post","status-publish","format-standard","hentry","category-teknik-yazi","tag-expression-web"],"_links":{"self":[{"href":"http:\/\/erbugkaya.com\/index.php?rest_route=\/wp\/v2\/posts\/423","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/erbugkaya.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/erbugkaya.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/erbugkaya.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/erbugkaya.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=423"}],"version-history":[{"count":3,"href":"http:\/\/erbugkaya.com\/index.php?rest_route=\/wp\/v2\/posts\/423\/revisions"}],"predecessor-version":[{"id":2535,"href":"http:\/\/erbugkaya.com\/index.php?rest_route=\/wp\/v2\/posts\/423\/revisions\/2535"}],"wp:attachment":[{"href":"http:\/\/erbugkaya.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=423"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/erbugkaya.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=423"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/erbugkaya.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}