strcmp() adalah salah satu function php yang digunakan untuk melakukan comparasi / perbandingan antara nilai1 dengan nilai2. syntax standard nya adalah seperti berikut:
strcmp(var1,var2)
strcmp() akan memberikan return 0 jika kedua nilai var sama, <0 jika var1 lebih kecil, >0 jika var2 lebih kecil. contoh:
<?php
echo strcmp("Hello world!","Hello world!"); // the two strings are equal
echo strcmp("Hello world!","Hello"); // string1 is greater than string2
echo strcmp("Hello world!","Hello world! Hello!"); // string1 is less than string2
?>
Namun ada masalah pada strcmp(). function ini akan selalu memberikan return 0 jika kedua variable dimasukkan type array.
Perhatikan cuplikan code php berikut
if(strcmp($_GET['username'], $_GET['password']) == 0){
echo "logged in";
}
else{
echo "coba lagi"
}
secara normal, kita harus memasukkan username dan password yang sama melalui GET untuk mendapatkan return value 0. Seperti berikut:
login.php?username=a&password=a
Namun autentikasi ini bisa dibypass dengan mengirimkan username dan password dalam bentuk array. seperti berikut.
login.php?username[]=a&password[]=b
ngiknguk, semoga berguna.
?