folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Php İle İlgili Sorularım Birikti



Php İle İlgili Sorularım Birikti

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    arkinfes
    arkinfes's avatar
    Kayıt Tarihi: 07/Haziran/2007
    Erkek

    abiler kardeşler ablalar selamlar olsun :D bir kaç sorum var şimdi listelemek gerekirse

    1-) php ile pdo kullanmıyorum norma mysql kullanıp bağlanıyorum ileride sistem yoğun olursa bu durm performansı çok etkilermi . 

    2-) <?php ?> tagını bir sayfa içinde birden fazla açarsak bu performansa etksi olurmu yani yani =

     

    <?PHP
      $calistir = mysql_query("SELECT * FROM account.news ORDER BY id DESC limit 4") or die("Hata oluştu muhtemelen sunucuda bakım var!");
     
      while($oku=mysql_fetch_assoc($calistir))
      {
      ?>
    <div id="haberler">
    	<div id="page_content_top">
    		<div class="title_top"><center>
    		<?PHP echo $oku['titel']; ?></center></div>
    	</div>
    	<div id="page_content_mid"><p><center><?PHP echo $oku['inhalt']; ?></center></p>
    					<div id="required" style="margin-left: 50px; display: none;">
    					
    					</div>
    	</div>
    	<div id="page_content_bottom"><br>
    <br>
     </div><div id="haberler"><p>
    </p>
     </div></div>
     <?PHP } ?>

     

    genelde listelemeleri bu sekil yapıyorum yani while döngüsünden sonra geri kalanı echo icinde yazdırsam tek bir <?php?> tagı içinde işi halletmiş olucam aslında bu olay ilerde performansa etki edermi.

     

    3-) mysql_escape_string(); fonksiyonu sql inj olayı için nekadar yararlı bypass edilebildiğini duymuştum onun için ekstra güvenlik olarak ne gibi fonksiyonlar önerirsiniz.

    4-) bir sayfamız var bu sayfamızda işte makale ekleniyorum aciklama kısmında js ile text editor kullanıyorum doğal olarak aciklamadan gelen verileri html filitresinden ve mysql_escape_string fonksiyonunda geçirmiyorum geçirirsem text editor bir işe yaramaz gibime geliyor . şimdi peki en onemlisine geldik siteye uye olup giriş yapan biri makale ekleme sayfasını farklı kaydet diyip bunu açıp text editoru kaldırıp istediği html kodunu gönderebilirmi yoksa bunun için bir önlem lazımmı :)

     

    5-) kafamı en cok kurcalayan bir sorudaha makale eklerken text editor kullanıyoruz dogal olarak veritabanına o alanı html kodlarıyla yolluyor mesele aciklama stununda <strong>internetin faydaları</strong> gibi kaydediyor ben tahribatın döküman bölümünde böküman okurken mesela cok uzun dokuman oldumu bu okuduğum yazı sayfalandırılıyor ya onu nasıl yaparım yani eger açıklama kısmı belirli sayıdan fazla cumle iceriyorsa ilk sayfada belirli sayıda açıklama yazıcak ikinci sayfada belirli sayıda yazıcak bunu nasıl yapabilir php ile normal sayfalama yapabiliyorum konu listelerken ama bunu beceremedim :D ve listeleme işleminde html kodlarıda cümle içinde sayılırmı 

     

    şimdiden allah razı olsun cevaplarınız için :)


    Do majör soylu ve açık sözlü , Do minör patetik , Re majör parlak , Re minör melankolik , Mi bemol majör soylu ve patetik , aydinlik ama soylu ve karamsar tonmu lazim ozaman; mi majör , Mi minör doğanin ilk minör tonu olmasina karsin biraz melankoliktir , Fa majör karışıktır , Fa minör hepsinden patetiktir , Fa Diyez majör iste güçtür çünkü degiştirgeçlerle asiri yuklenmistir , Si majör parlak ve oyun bozannn :))
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    mysql_query, mysql_connect gibi eski nesil, güvenlik sorunları olan ve deprecated fonksiyonlarını kullanma. mysql_real_escape string yeterince güvenli değil. Yakında bu fonksiyonlar php'den kaldırılacak, hatta kaldırıldı. Senin yaptığın classic asp öğrenmek kadar gereksiz. Bak php.net de ne yazıyor;

    mysql_querySend a MySQL query

    Warning

    This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:

    Description

     

    Gidiyorsun direk PDO öğreniyorsun. prepared sql statements kullanarak ve parametreleri Bind ederek kullanıyorsun sql inj ataklarından tamamiyle kurtuluyorsun.

     

    4-)Strip_tags veya html_purifier a bakacaksın

     

    5-)stringdeki karakter sayısını hesap et belirli sayının üstündeyse 2. sayfa oluştur. Ne dediğimi anlamadıysan biraz daha php de ilerlemende fayda var.

    DrKill tarafından 17/Eyl/14 17:03 tarihinde düzenlenmiştir

    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    overbite
    overbite's avatar
    Kayıt Tarihi: 13/Ağustos/2011
    Erkek

    kendimce cevaplayayım:

    1- uyumluluk açısından artık mysqli veya pdo kullanılması tavsiye ediliyor, performans açısından bilmiyorum

    2- çalışma performansına bir şey diyemem ama html kodlarını echo etmemek tavsiye ediliyor :D senin koda bir de şöyle bak:

    <?php
    $calistir = mysql_query("SELECT * FROM account.news ORDER BY id DESC limit 4") or die("Hata oluştu muhtemelen sunucuda bakım var!");
    while($oku=mysql_fetch_assoc($calistir)):
    ?>
    <div id="haberler">
      <div id="page_content_top">
        <div class="title_top" style="text-align: center">
          <?=$oku['titel']?>
        </div>
      </div>
      <div id="page_content_mid" style="text-align: center">
        <p><?=$oku['inhalt']?></p>
        <div id="required" style="margin-left: 50px; display: none;">
          
        </div>
      </div>
      <div id="page_content_bottom">
        <br>
        <br>
      </div>
      <div id="haberler">
        <p></p>
      </div>
    </div>
    <?php endwhile; ?>

    3- htmlentities() ve htmlspeacialchars() fonksiyonlarını da inceleyebilirsin.
    http://php.net/manual/tr/function.htmlspecialchars.php

    http://php.net/manual/tr/function.htmlentities.php

    4- kullanıcı istediğini gönderebilir, kesinlikle js ile yapılan doğruluğa güvenme ve post edilen veriyi kendin backend'de süzgeçten geçir

    5- valla o sayfalama işi sitenin yapısına göre de değişir artık ona kendin bi fantazi oluşturacan

     

    ayrıca ingilizce varsa şu yazıyı okumanı tavsiye ederim:

    http://thisinterestsme.com/php-best-practises/


    şunu da bence yeni başlayanlar okuyabilir veritabanı veri tipleri ile ilgili:

    http://thisinterestsme.com/mysql-columns-use/


    ulan bir susar mısın?
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    arkinfes
    arkinfes's avatar
    Kayıt Tarihi: 07/Haziran/2007
    Erkek
    DrKill bunu yazdı

    mysql_query, mysql_connect gibi eski nesil, güvenlik sorunları olan ve deprecated fonksiyonlarını kullanma. mysql_real_escape string yeterince güvenli değil. Yakında bu fonksiyonlar php'den kaldırılacak, hatta kaldırıldı. Senin yaptığın classic asp öğrenmek kadar gereksiz. Bak php.net de ne yazıyor;

    mysql_querySend a MySQL query

    Warning

    This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:

    Description

     

    Gidiyorsun direk PDO öğreniyorsun. prepared sql statements kullanarak ve parametreleri Bind ederek kullanıyorsun sql inj ataklarından tamamiyle kurtuluyorsun.

     

    4-)Strip_tags veya html_purifier a bakacaksın

     

    5-)stringdeki karakter sayısını hesap et belirli sayının üstündeyse 2. sayfa oluştur. Ne dediğimi anlamadıysan biraz daha php de ilerlemende fayda var.

    hocam beşte şöyle bir sorun olurmu ben stringdeki karakter sayısını hesap ettim diyelim ama stringdeki değer şöyle =

    "<strong>selam</strong>" diye geliyor diyelim ben bunun ilk 14 karakterini 1.sayfaya geri kalan 2. sayfaya girsin dersem bu sefer ilk sayfada </strong>selam</   yazıcak sadece yani sonucta veri oraya text editorle olusturulup ekleniyor


    Do majör soylu ve açık sözlü , Do minör patetik , Re majör parlak , Re minör melankolik , Mi bemol majör soylu ve patetik , aydinlik ama soylu ve karamsar tonmu lazim ozaman; mi majör , Mi minör doğanin ilk minör tonu olmasina karsin biraz melankoliktir , Fa majör karışıktır , Fa minör hepsinden patetiktir , Fa Diyez majör iste güçtür çünkü degiştirgeçlerle asiri yuklenmistir , Si majör parlak ve oyun bozannn :))
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    sokoban
    sokoban's avatar
    Kayıt Tarihi: 23/Ocak/2010
    Erkek

    Hocam güvenlik açısından ve gelecek versiyonlara uyumluluk açısından pdo kullanman daha hayırlı olur.


    .
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hybris
    Hybris's avatar
    Kayıt Tarihi: 12/Haziran/2007
    Erkek

    1) mysql_ fonksiyonları pdo sınıfından daha performanslı. ama güvenlik ve oop için pdo sınıfını kullanmalısın. zaten yakın zamanda kaldırılacak istesen de kullanamayacaksın.

    2) çok çok çok ufak bir etkisi var. 100 kere açıp kapasan milisaniye bile farketmez.

    3) filter_var() - prepared statements

    4) yazmışlar.

    5) neyi sayfalandıracağına bağlı. "pagination with php" şeklinde araştırabilirsin.

    --

    if bla bla echo ile bu işler yürümüyor. ilerde çok sıkıntı çekersin. yol yakınken alttaki keywordleri iyice araştır.

    oop, design patterns, mvc


    agile isn’t how fast you can go, it’s how fast you can turn.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    arkinfes
    arkinfes's avatar
    Kayıt Tarihi: 07/Haziran/2007
    Erkek
    Hybris bunu yazdı

    1) mysql_ fonksiyonları pdo sınıfından daha performanslı. ama güvenlik ve oop için pdo sınıfını kullanmalısın. zaten yakın zamanda kaldırılacak istesen de kullanamayacaksın.

    2) çok çok çok ufak bir etkisi var. 100 kere açıp kapasan milisaniye bile farketmez.

    3) filter_var() - prepared statements

    4) yazmışlar.

    5) neyi sayfalandıracağına bağlı. "pagination with php" şeklinde araştırabilirsin.

    --

    if bla bla echo ile bu işler yürümüyor. ilerde çok sıkıntı çekersin. yol yakınken alttaki keywordleri iyice araştır.

    oop, design patterns, mvc

    işte onu farkettim hocam yani yaklaşık 3 senedir birşey kodlamadım ama phpye cok güzellikler gelmiş ondan buraya sorayım dedim çok teşekkür ederim gercekten


    Do majör soylu ve açık sözlü , Do minör patetik , Re majör parlak , Re minör melankolik , Mi bemol majör soylu ve patetik , aydinlik ama soylu ve karamsar tonmu lazim ozaman; mi majör , Mi minör doğanin ilk minör tonu olmasina karsin biraz melankoliktir , Fa majör karışıktır , Fa minör hepsinden patetiktir , Fa Diyez majör iste güçtür çünkü degiştirgeçlerle asiri yuklenmistir , Si majör parlak ve oyun bozannn :))
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek

    Kendi deneyimlerime testlerime göre mysql çok daha hızlı fakat bir milyon eksisi var ve bu eksiklikler yavaşlatıyor misalen kaydedilen satırı bulmak oopta tek değişken normalinde kontrol veya fonksiyon gerekiyo. Oop doğru seçim


    iyibu! yeniden..
Toplam Hit: 739 Toplam Mesaj: 8