Tag Archives | CMS

How to prevent SQL injection attacks?

Before we talk about how to prevent SQL injection, we have to know the impact of SQL Injection attack which is one of the most dangerous attacks on the web. The attacker can steal your data or even worse, the whole web server can be stolen from one SQL injection vulnerability. I wrote this post to show you how to prevent SQL injection. If you need to know more about SQL injection itself and its types and all other stuff, you can do a simple search on google if you want. The solution is to clean the request parameters coming from the user . Keep in mind that the solution that I’ll share with you is not like the most solutions on the web that go to every SQL statement and clean the request variables one by one.

Continue Reading →

My solution is preventing SQL injection without messing with your CMS files. Well, maybe someone who is using PHP would say that is easy, it is just using a function like mysql_real_escape_string or mysqli_real_escape_string. But that works only on a single dimensional array, what about a multi-dimensional array? Well, we need to iterate over array items recursively. So what we will do is preventing SQL injection against a multidimensional array.

Solution

This code does the magic for both single and multidimensional arrays using PHP:

if (!function_exists("clean")) {
//Gets the current configuration setting of magic_quotes_gpc if on or off
if (get_magic_quotes_gpc()) {
function magicquotes_Stripslashes(&$value, $key) {
$value = stripslashes($value);
}
$gpc = array(&$_COOKIE, &$_REQUEST);
array_walk_recursive($gpc, 'magicquotes_Stripslashes');
}
function clean(&$value, $key) {
//here the clean process for every array item
// use mysqli_real_escape_string instead if you use php 7
$value = mysql_real_escape_string($value);
}
}
$req = array(&$_REQUEST);
array_walk_recursive($req, 'clean');

The PHP function used to walk through the request multidimensional array is array_walk_recursive.

Just put this code on the top of your site or header file right after connecting to the database, your file could be up.php or header.php or something similar.

Because if you use this code before the connection occurs, it will show an error because you are using mysql_real_escape_string function which needs a SQL connection.

If you are using PHP 7, you’ll notice that MySQL extension is removed, so in order to make the above code working, you need to replace the function mysql_real_escape_string with mysqli_real_escape_string.

One final thing I have to mention regarding your code, you should keep your SQL parameters on all of your pages between quotes like this:

mysql_query("select * from users where email='$email' order by id");

Notice how the variable $email is quoted.

Without quoting your input like the above statement, SQL injection prevention won’t work.

0

WordPress 5.2.2 bakım sürümü duyuruldu

Matt Mullenwegg tarafından geliştirilmeye başlanan ve şu an dünyada pek çok kişi veya kuruluş tarafından yaygın olarak kullanılan GPL lisanslı, PHP ve MySQL kullanılarak yazılmış bir kişisel içerik yönetim sistemi WordPress‘in 5.2.2 sürümü, Mary Baum tarafından duyuruldu. Bunun bir bakım sürümü olduğunu söyleyen Baum; 13 hatanın gideririldiğini ve daha ayrıntılı bilgi edinmek isteyenlerin tüm değişiklikler sayfasını inceleyebileceklerini ifade etti. Bu bakım sürümünün, 5.2 sürümünde tanıtılan blok düzenleyici, erişilebilirlik, uluslararasılaştırma ve site sağlığı özelliğinde yapılan iyileştirmeleri içerdiğini söyleyen Baum; bir sonraki ana sürümün 5.3 sürümü olduğunu belirtti. WordPress 5.2.2 hakkında daha ayrıntılı bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.

Continue Reading →

WordPress 5.2.2 edinmek için aşağıdaki linkten yararlanabilirsiniz.

0

WordPress 5.2.1 bakım sürümü duyuruldu

Matt Mullenwegg tarafından geliştirilmeye başlanan ve şu an dünyada pek çok kişi veya kuruluş tarafından yaygın olarak kullanılan GPL lisanslı, PHP ve MySQL kullanılarak yazılmış bir kişisel içerik yönetim sistemi WordPress‘in 5.2.1 bakım sürümü, Jonathan Desrosiers tarafından duyuruldu. Bu bakım sürümünün, 5.2 sürümünde tanıtılan blok düzenleyici, erişilebilirlik, uluslararasılaştırma ve site sağlığı özelliğinde yapılan iyileştirmeler dahil olmak üzere 33 hata giderimini içerdiğini belirten Desrosiers; Trac üzerindeki değişikliklerin tam listesine göz atılabileceğini söyledi. Bunun kısa süreli bir bakım sürümü olduğunu söyleyen Desrosiers; 5.2.2 sürümünün yaklaşık iki hafta içinde gelebileceğini ifade etti. Jonathan Desrosiers ve William Earnhardt, kendilerine katkı sağlayan 52 diğer katılımcıya teşekkür ettiklerini ifade ediyor. WordPress 5.2.1 hakkında daha ayrıntılı bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.

Continue Reading →

WordPress 5.2.1 edinmek için aşağıdaki linkten yararlanabilirsiniz.

0

WordPress 5.2 “Jaco” duyuruldu

Sürüm adayı 26 Nisan 2019‘da duyurulan Matt Mullenwegg tarafından geliştirilmeye başlanan ve şu an dünyada pek çok kişi veya kuruluş tarafından yaygın olarak kullanılan GPL lisanslı, PHP ve MySQL kullanılarak yazılmış bir kişisel içerik yönetim sistemi WordPress‘in 5.2 sürümünün finali, Matt Mullenweg tarafından duyuruldu. “Jaco” kod adlı yeni sürümün, ünlü caz basçısı Jaco Pastorius’un onuruna “Jaco” adıyla kullanıma sunulduğunu söyleyen Mullenweg; bu güncellemedeki yeni özelliklerin, bir şeyler ters giderse, sahip olunan siteyi düzeltmeyi hiç olmadığı kadar kolaylaştırdığı ifade ediliyor. Bu arada WordPress’in desteklenen minimum PHP sürümünün 5.6’ya yükseldiğini hatırlatılırken, kullanıcıların buna göre hazırlık yapmalarının uygun olacağı hatırlatıldı. WordPress 5.2 “Jaco” hakkında daha ayrıntılı bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.

Continue Reading →

WordPress 5.2 “Jaco” edinmek için aşağıdaki linkten yararlanabilirsiniz.

0

WordPress 5.2 RC duyuruldu

Beta 2 sürümü 9 Nisan 2019‘da duyurulan Matt Mullenwegg tarafından geliştirilmeye başlanan ve şu an dünyada pek çok kişi veya kuruluş tarafından yaygın olarak kullanılan GPL lisanslı, PHP ve MySQL kullanılarak yazılmış bir kişisel içerik yönetim sistemi WordPress‘in 5.2 sürümünün ilk sürüm adayı, Josepha tarafından duyuruldu. Bunun bir test sürümü olduğunun unutulmaması ve yalnızca test etmek amacıyla kullanılması gerektiğini hatırlatan Josepha; bir test sitesi üzerinde test eden kullanıcıların tespit ettikleri hataları rapor etmelerini rica etti. Josepha; test etmek için en iyi seçeneğin WordPress Beta Tester eklentisini denemek olduğunu, ancak dileyenlerin doğrudan test sürümü buradan indirebileceklerini ifade etti. Bu arada WordPress’in desteklenen minimum PHP sürümünün 5.6’ya yükseldiğini hatırlatan Josepha; kullanıcıların buna göre hazırlık yapmalarının uygun olacağını hatırlattı. WordPress 5.2 RC hakkında daha ayrıntılı bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.

Continue Reading →

WordPress 5.2 RC edinmek için aşağıdaki linkten yararlanabilirsiniz.

0

WordPress 5.2 Beta 2 duyuruldu

İlk beta sürümü 27 Mart 2019‘da duyurulan Matt Mullenwegg tarafından geliştirilmeye başlanan ve şu an dünyada pek çok kişi veya kuruluş tarafından yaygın olarak kullanılan GPL lisanslı, PHP ve MySQL kullanılarak yazılmış bir kişisel içerik yönetim sistemi WordPress‘in 5.2 sürümünün ikinci beta sürümü, Gary Pendergast tarafından duyuruldu. Bunun bir test sürümü olduğunun unutulmaması ve yalnızca test etmek amacıyla kullanılması gerektiğini hatırlatan Pendergast; bir test sitesi üzerinde test eden kullanıcıların tespit ettikleri hataları rapor etmelerini rica etti. Pendergast; test etmek için en iyi seçeneğin WordPress Beta Tester eklentisini denemek olduğunu, ancak dileyenlerin doğrudan test sürümü buradan indirebileceklerini ifade etti. Bu arada WordPress’in desteklenen minimum PHP sürümünün 5.6’ya yükseldiğini hatırlatan Pendergast; kullanıcıların buna göre hazırlık yapmalarının uygun olacağını hatırlattı. WordPress 5.2 Beta 2 hakkında daha ayrıntılı bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.

Continue Reading →

WordPress 5.2 Beta 2 edinmek için aşağıdaki linkten yararlanabilirsiniz.

0

WordPress 5.2 Beta 1 duyuruldu

Matt Mullenwegg tarafından geliştirilmeye başlanan ve şu an dünyada pek çok kişi veya kuruluş tarafından yaygın olarak kullanılan GPL lisanslı, PHP ve MySQL kullanılarak yazılmış bir kişisel içerik yönetim sistemi WordPress‘in 5.2 sürümünün ilk betası, Josepha tarafından duyuruldu. Bunun bir test sürümü olduğunun unutulmaması ve yalnızca test etmek amacıyla kullanılması gerektiğini hatırlatan Josepha; bir test sitesi üzerinde test eden kullanıcıların tespit ettikleri hataları rapor etmelerini rica etti. Josepha; test etmek için en iyi seçeneğin WordPress Beta Tester eklentisini denemek olduğunu, ancak dileyenlerin doğrudan test sürümü buradan indirebileceklerini ifade etti. Bu arada WordPress’in desteklenen minimum PHP sürümünün 5.6’ya yükseldiğini hatırlatan Josepha; kullanıcıların buna göre hazırlık yapmalarının uygun olacağını hatırlattı. WordPress 5.2 Beta 1 hakkında daha ayrıntılı bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.

Continue Reading →

WordPress 5.2 Beta 1 edinmek için aşağıdaki linkten yararlanabilirsiniz.

0