validasi dari sisi client dan server

selamat pagi semua, ane mau bertanya, dari forum2 yang ane liat, byk membahas tentang validasi dan keamanan web, untuk itu, untuk contoh validasi dari kedua sisi itu contoh nya gmna ya cara ngegabungin nya? jadi dari sisi client aman, dari sisi server aman. terima kasih para suhu :)

avatar cupuh
@cupuh

44 Kontribusi 3 Poin

Diperbarui 6 tahun yang lalu

13 Jawaban:

   https://sekolahkoding.com/forum/kenapa-setiap-mengisi-form-php-ketika-validasi-salah-halaman-tersebut-refreshngulang-dari-awal

Silahkan Dibaca2..dan dipahami..

avatar ciloxz
@ciloxz

284 Kontribusi 139 Poin

Dipost 6 tahun yang lalu

kurang lebih seperti ini gan.

client site

 <!DOCTYPE html>
<html>
<head>
	<title></title>
	<script type="text/javascript">
		// client site
		function validasi(form) {
			if (form.kode.value=="") {
				alert("Kode harus diisi !");
				form.kode.focus();
				return false;
			}
			return true;
		}
	</script>
</head>
<body>
<form action="simpan.php" method="post" onSubmit="return validasi(this);">
	<input type="text" name="kode" placeholder="wajib">
	<input type="submit" name="submit">
</form>
</body>
</html>

server site

 <?php
	$kode = $_POST["kode"];
	if(get_magic_quotes_gpc())
    {
        $kode = stripslashes($kode);
    }
    $kode = mysql_real_escape_string($kode);
    //query insert
    $q = "insert into ...";
?>
avatar dianarifr
@dianarifr

642 Kontribusi 316 Poin

Dipost 6 tahun yang lalu

saya sudah buat code ini mas, saya buat setelah baca2 forum tntg validasi dari sisi server dan client, mohon saran dan masukan nya dari code ini apa sudah cukup atau bisa di buat lebih kece,

ini javascript nya :

 <script type="text/javascript">
function validasi(){
	var userreeg=document.getElementById('userreg');
	var passreeg=document.getElementById('passreg');
	if(userreg.value=='' || passreg.value==''){
		return false;
	}else{
		return true;
	}
}
</script>

ini php nya :

 <?php
$userreg=@$_POST['userreg'];
$passreg=@$_POST['passreg'];
$log=@$_POST['login'];

if(isset($log)){
	if(empty($userreg) || empty($passreg)){
		echo "<script type=\"text/javascript\">window.alert('Username atau Password Kosong.');</script>";
	} else{
		$sqllogin=mysql_query("SELECT * FROM regisuser WHERE userreg = '$userreg' AND passreg = md5('$passreg') ")or die(mysql_error());
		$logindata=mysql_fetch_array($sqllogin);
		$loginrow=mysql_num_rows($sqllogin);
		if($loginrow>0){
			if(($logindata['levelreg']=="admin" && $logindata['levellog']=="mimin")){
				@$_SESSION['regadmin'] = $logindata['idreg'];
				@$_SESSION['logmimin'] = $logindata['idreg'];
				@$_SESSION['useradmin'] = $logindata['userreg'];
				header("location:../laman/adminsite.php");
			} else {
				echo "<script type=\"text/javascript\">window.alert('Gagal LOGIN, Hak Akses Anda Terbatas!');</script>";
			}
		} else{
			echo "<script type=\"text/javascript\">window.alert('Gagal LOGIN, Username atau Password SALAH!');</script>";
		}
	}
}
?>

ini html nya :

 <form name="form1" id="form1" method="post" action="<?php echo $_SERVER ['PHP_SELF']; ?>">
	<table align="center">
        <tr valign="baseline">
          <td nowrap="nowrap" align="right">Username :</td>
          <td><input type="text" name="userreg" id="userreg" value="" size="32" maxlength="10" placeholder="Max 10 Character" style="text-transform:uppercase"/></td>
        </tr>
      <tr valign="baseline">
        <td nowrap="nowrap" align="right">Password :</td>
          <td><input type="password" name="passreg" id="passreg" value="" size="32" /></td>
      </tr>
        <tr valign="baseline">
      	  <td nowrap="nowrap" align="right"> </td>
      	  <td><input type="submit" name="login" value="Login" onclick="validasi()" /></td>
    	</tr>
    </table>
  </form>
avatar cupuh
@cupuh

44 Kontribusi 3 Poin

Dipost 6 tahun yang lalu

1. di phpnya kasih pencegahan sql injection 2. dihtmlnya dikasih required biar tambah kece wkwk, contoh:

 <td><input type="text" name="userreg" id="userreg" value="" size="32" maxlength="10" placeholder="Max 10 Character" style="text-transform:uppercase"/ required></td>
avatar dianarifr
@dianarifr

642 Kontribusi 316 Poin

Dipost 6 tahun yang lalu

@dianarifr untuk sql injection, bisa diberi contoh nya gan? masih awam ane wkwk.. mohon bantuan nya gan

avatar cupuh
@cupuh

44 Kontribusi 3 Poin

Dipost 6 tahun yang lalu

yang harus dipahami dari validasi ... bukan hanya masalah data kosong.. contoh : panjang karakternya melebihi atau tidak.. kalau register.. data sebelumnya udah ada / belum .. (contoh cek username) kalau delete apakah data tersebut msih berhubungan ngk sama data yg lain.. dan masih banyak lagi.. agan harus banyak rasa ingin tahunya.. semakin KEPO.. semakin JOSS...

avatar ciloxz
@ciloxz

284 Kontribusi 139 Poin

Dipost 6 tahun yang lalu

makasih byk gan @ciloxz.. masukan nya sangat membantu. saya baru engeh.. untuk yg delete, cara pengecekan apakah data msh berhubungan itu gmna ya gan?

avatar cupuh
@cupuh

44 Kontribusi 3 Poin

Dipost 6 tahun yang lalu

misal.. hubungan antara barang dan kategori

barang Sikat gigi, sabun mandi , mesin cuci hehe. .memiliki KATEGORI "K005" => "Perlengkapan Mandi" ...

kira2 .. saat nanti di form data kategori.. boleh gk saya hapus kategori "K0005".. ??? jawabannya TIDAK BOLEH.. kenapa ???

krena pada data barang.. kategori tersebut .. masih dipakai.. untuk barang tadi.. sikat gigi, sabun mandi..mesin cuci ngk ya.. hehe..

atau tetep bisa dihapus.. tapi waktu hapus bukan "DELETE FROM".. tapi UPDATE statusnya = "Non Aktif"... gitu..

semua bisa .. yg penting ngerti hehehe.. dan tergantung kebutuhan.. btw.. pertanyaan sebelah udah dijawab tuh... (login ganda) silahkan dicek.. :D

avatar ciloxz
@ciloxz

284 Kontribusi 139 Poin

Dipost 6 tahun yang lalu

btw, ane udah bales juga mas, silahkan di cek :D

solusi yg UPDATE menarik mas,, mantaps sekali. saya akan terapkan bila nanti ada case seperti ini,, terima kasih byk mas..

avatar cupuh
@cupuh

44 Kontribusi 3 Poin

Dipost 6 tahun yang lalu

welcome cupuh.. :D

avatar ciloxz
@ciloxz

284 Kontribusi 139 Poin

Dipost 6 tahun yang lalu

Eit kayanya belum ada yg nulis nih hahah Jangan lupa CSRF juga penting di form :D

avatar markeronly
@markeronly

378 Kontribusi 230 Poin

Dipost 6 tahun yang lalu

wah.. CSRF klo boleh tau apa gan? @markeronly

avatar cupuh
@cupuh

44 Kontribusi 3 Poin

Dipost 6 tahun yang lalu

bisa baca - baca di mari gan https://en.wikipedia.org/wiki/Cross-site_request_forgery dan CSRF

avatar markeronly
@markeronly

378 Kontribusi 230 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban