|
|
|
การป้องกัน การเข้า page query mysql ของเราโดยการพิมพ์ link โดยตรง |
|
|
|
|
|
|
|
อาจจะให้หน้า form สร้าง dynamic hidden input สักตัวหนึ่งว่าส่งมาจากฟอร์มเราจริงรึเปล่า
โดยข้อมูลตัวนี้อาจจะเข้ารหัสไว้ด้วย mcrypt + base64 ไว้
พอหน้า query ก็ตรวจสอบก่อนว่าตรงตามที่เราเซ็ตไว้รึเปล่า
ถ้าไม่ใช่ ก็เด้งจบ die(); ไปเลย
|
|
|
|
|
Date :
2013-04-30 10:48:58 |
By :
itpcc |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
การป้องกันการเข้าหน้า formquery.php โดยตรงน่าจะเช็คได้โดยเช็ค $_SERVER['HTTP_REFERER']
เช่น
Code (PHP)
<?PHP
$ref = $_SERVER['HTTP_REFERER'];
if($ref == 'http://127.0.0.1/form.php'){
//ทำการบันท฿กลงฐานข้อมูล
} else { //ถ้าไม่ใช่ก็ให้เด้งกลับไปหน้า index
header('location:index.php');
}
?>
|
|
|
|
|
Date :
2013-04-30 10:49:21 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้วิธี include ไฟล์ที่ใช้บันทึกข้อมูลไปอีกไฟล์ครับ
1. form.php
2. formquery.php
3. form_action.php <-- เพิ่มไฟล์นี้เข้าไปเพื่อรับค่า form.php
form_action.php
<?php
define('BASEPATH', "test');
include("formquery.php");
//เรียกฟังก์ชั่นบันทึกข้อมูล
?>
formquery.php
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed'); // เพิ่มบรรทัดนี้
//Code...
?>
|
|
|
|
|
Date :
2013-04-30 10:56:52 |
By :
Naizan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับ
ขออภัยด้วย พิมพ์ผิด สมมุต ที่จริงต้องพิมพ์ สมมติ ขออภัยนะครับที่ใช้ภาษาไทยผิดๆ และคำอื่นๆเยอะเลยครับ พอดีพึ่งตื่นเบลอๆครับ
|
|
|
|
|
Date :
2013-04-30 11:10:42 |
By :
EIEIEI |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|