จะทำอย่างให้ช่อง input ไม่สามารถใส่ javascript ได้ครับ

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: จะทำอย่างให้ช่อง input ไม่สามารถใส่ javascript ได้ครับ

Re: จะทำอย่างให้ช่อง input ไม่สามารถใส่ javascript ได้ครับ

โดย jamepiyawat » 26/10/2019 2:49 pm

ทำได้แล้วครับ ขอบคุณครับ

หลังจากรับค่าใน input ให้เราใช่คำสั่ง htmlspecialchars ก่อนจะนำค่า input นั้นออกมาแสดง

โค้ด: เลือกทั้งหมด

$name = $_POST['name'];
$name = htmlspecialchars($name);
ผลที่ได้
Selection_999(1340).png
Selection_999(1340).png (22.62 KiB) Viewed 2212 times

Re: จะทำอย่างให้ช่อง input ไม่สามารถใส่ javascript ได้ครับ

โดย mindphp » 26/10/2019 2:28 pm

input เป็น text ธรรมดาย่อมทำได้
แต่เราต้อง ป้องกันต้อนแสดงผล ไม่ให้ echo tag javascript หรือ tags html จากข้อมูลที่ input เข้าไป
ลองดู
https://www.mindphp.com/%E0%B8%84%E0%B8 ... chars.html

จะทำอย่างให้ช่อง input ไม่สามารถใส่ javascript ได้ครับ

โดย jamepiyawat » 26/10/2019 2:17 pm

พอดีว่าผมมีช่องที่ทำให้ผู้ใช้กรอกชื่อ แต่ว่าถ้าเราใส่ javascript เข้าไปแล้วกลายเป็นการ run คำสั่ง javascript ครับ
อยากทราบวิธีแก้ว่าจะทำอย่างใรให้ input ของเราไม่สามารถรัน javascript ได้ครับ

ลองใส่โค้ดนี้ลงในช่อง input

โค้ด: เลือกทั้งหมด

<script language="javascript">alert('Please input Input 1'); </script>
Selection_999(1338).png
Selection_999(1338).png (22.05 KiB) Viewed 2220 times
ผลที่ได้
Selection_999(1339).png
Selection_999(1339).png (17.67 KiB) Viewed 2220 times

ข้างบน