- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下函数可以清理用户或网址的输入:
function SanitizeString($var)
{
$var=stripslashes($var);
$var=htmlentities($var, ENT_QUOTES, 'UTF-8');
$var=strip_tags($var);
return $var;
}
我不知道除了这个php函数之外是否还需要使用该函数:
mysql_real_escape_string()..
我也不知道我是否采取了所有预防措施来清理该输入
我也有剥离标签的问题..因为我使用的是tiny_MCE..并且不剥离它们很重要..
在将 html 字符送入数据库之前,如何将其状态作为 html 字符返回?
1 Câu trả lời
无论如何,先验地清理输入都是错误的。剥离标签与数据库有什么关系?从什么时候开始恶意脚本在数据库中运行?过度谨慎是一件好事,除非你这样做时没有逻辑。
仅根据“可疑”内容需要去往的位置进行清理。
数据库?然后对数据库进行转义,避免SQL注入(inject)。使用 mysql_real_escape_string()
或参数化查询,然后就可以了。
HTML 页面?清理你的 html 以避免 XSS 和其他讨厌的事情。使用 htmlentities()
或其他更复杂的解决方案,但请在输出之前执行此操作。
如果你在数据库中保存一个 html 页面,然后去掉所有标签(顺便说一句,strip_tags() 做得很糟糕,在 htmlentities()
之后调用它不是最好的事情)怎么办?如果您稍后需要返回 html 该怎么办?试想一下,使用
对数据库有什么危害?标签或恶意软件的链接?难道它们只有在打印在页面上时才有害吗?
要解码 htmlentities() 形式,只需使用.. html_entity_decode()
关于php - php 中的安全首选项、php 函数来清理输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7876129/
Hàm sscanf() trong ngôn ngữ C: đọc tệp tiêu đề dữ liệu theo định dạng được chỉ định từ một chuỗi: ?
Gần đây, tôi gặp phải vấn đề với việc đánh giá trước công việc mà tôi không biết cách giải quyết ngay cả sau khi đã tìm hiểu cách thức hoạt động của từng chức năng. Sau đây là một mã giả. Dưới đây là một hàm có tên là foo() sẽ được truyền một giá trị và trả về một giá trị. Nếu bạn truyền giá trị sau vào hàm foo,
Hàm CStr trả về một biểu thức đã được chuyển đổi thành Biến thể có kiểu con là Chuỗi. CStr(biểu thức) Tham số biểu thức là bất kỳ biểu thức hợp lệ nào. Mô tả Thông thường, bạn có thể
Hàm CSng trả về một biểu thức đã được chuyển đổi thành Biến thể có kiểu con là Đơn. CSng(biểu thức) Tham số biểu thức là bất kỳ biểu thức hợp lệ nào. Mô tả Thông thường,
Hàm CreateObject tạo và trả về tham chiếu đến đối tượng Automation. CreateObject(servername.typename [, location]) Tham số serv
Hàm Cos trả về cosin của một góc. Cos(số) Đối số số có thể là bất kỳ biểu thức số hợp lệ nào thể hiện góc tính bằng radian. Mô tả Hàm Cos lấy một góc và trả về tỷ số giữa hai cạnh của một tam giác vuông. Tỷ lệ này là
Hàm CLng trả về một biểu thức đã được chuyển đổi thành Biến thể có kiểu con Long. CLng(biểu thức) Tham số biểu thức là bất kỳ biểu thức hợp lệ nào. Mô tả Thông thường, bạn có thể sử dụng
Hàm CInt trả về một biểu thức đã được chuyển đổi thành Biến thể có kiểu con là Số nguyên. CInt(biểu thức) Tham số biểu thức là bất kỳ biểu thức hợp lệ nào. Mô tả Thông thường,
Hàm Chr trả về ký tự tương ứng với mã ký tự ANSI đã chỉ định. Chr(charcode) Tham số charcode là một số xác định một ký tự. Mô tả Các số từ 0 đến 31 biểu thị tiêu chuẩn không in được
Hàm CDbl trả về một biểu thức đã được chuyển đổi thành Biến thể có kiểu con là Double. CDbl(biểu thức) Tham số biểu thức là bất kỳ biểu thức hợp lệ nào. Mô tả Thông thường, bạn có thể
Hàm CDate trả về một biểu thức đã được chuyển đổi thành Biến thể của kiểu con Date. CDate(date) Tham số ngày là bất kỳ biểu thức ngày hợp lệ nào. Mô tả Hàm IsDate được sử dụng để xác định d
Hàm CCur trả về một biểu thức đã được chuyển đổi thành Biến thể có kiểu con là Currency. CCur(biểu thức) Tham số biểu thức là bất kỳ biểu thức hợp lệ nào. Mô tả Thông thường,
Hàm CByte trả về một biểu thức đã được chuyển đổi thành Biến thể có kiểu con là Byte. CByte(biểu thức) Tham số biểu thức là bất kỳ biểu thức hợp lệ nào. Mô tả Thông thường, bạn có thể
Hàm CBool trả về một biểu thức được chuyển đổi thành một Biến thể có kiểu con Boolean. CBool(expression) expression là bất kỳ biểu thức hợp lệ nào. Nếu cũ
Hàm Atn trả về cung tan của một số. Atn(số) Tham số số có thể là bất kỳ biểu thức số hợp lệ nào. Mô tả Hàm Atn tính tỉ số hai cạnh của một tam giác vuông (số) và trả về cung của góc tương ứng.
Hàm Asc trả về mã ký tự ANSI tương ứng với chữ cái đầu tiên của chuỗi. Asc(chuỗi) Tham số chuỗi là bất kỳ biểu thức chuỗi hợp lệ nào. Nếu đối số chuỗi không chứa ký tự, lỗi thời gian chạy sẽ xảy ra.
Hàm Array trả về một Biến thể chứa một mảng. Mảng(arglist) Đối số arglist là danh sách các giá trị được phân tách bằng dấu phẩy để gán cho các phần tử của mảng có trong Biến thể. Nếu tham số này không được chỉ định,
Hàm Abs trả về giá trị tuyệt đối của một số. Abs(số) Tham số số có thể là bất kỳ biểu thức số hợp lệ nào. Nếu number chứa Null, nó sẽ trả về Null; nếu đó là biến chưa được khởi tạo, nó sẽ trả về 0.
Hàm FormatPercent trả về một biểu thức được định dạng dưới dạng phần trăm (nhân với 100) với dấu % theo sau. Định dạngPhần trăm(biểu thức[,NumDigitsAfterD
Hàm FormatNumber trả về một biểu thức được định dạng dưới dạng số. Định dạngSố(biểu thức [,NumDigitsAfterDecimal [,Inc
Tôi là một lập trình viên xuất sắc, rất giỏi!