前台用texterea 输入数据,保存数据之前要进行转化:htmlspecialchars(addslashes($data));如果前端输出格式需要换行的话:将\n 转化为<br>str_replace(" ", " ", str_replace("\n", "<br>", $data));...
什么是XSS:这里通俗的讲,就像是SQL
注入
一样,XSS攻击也可以算是对HTML和
JS
的一种
注入
。你本来希望得到是从用户那得到一段有用的文本文字,但用户提交给你的却是别有用心的可执行javascript或者其他脚本,当你再把这些提交的内容显示到页面上时,xss攻击就发生了。
关于xss的攻击方式和场景层出不穷,以下是一些解决的方法,各位可以借鉴,如果有不准确的在下方评论,忘各位大神Coder不吝
header("Set-Cookie: hidden=value; httpOnly");
2.
PHP
5.2以上支持
ini_set("session.cookie_httponly", 1);
3.兼容全部
PHP
版本
setcookie("name","hello", NULL, NULL, NULL, NULL, TRUE);
【一、在服务器端配置】 安全,
PHP
代码编写是一方面,
PHP
的配置更是非常关键。我们
php
手手工安装的,
php
的默认配置文件在 /usr/local/apache2/conf/
php
.ini,我们最主要就是要配置
php
.ini中的内容,让我们执行
php
能够更安全。整个
PHP
中的安全设置主要是为了
防止
php
shell和SQL Injection的攻击,一下我们慢慢探讨。
我们先使用任何编辑工具打
可以使用 JavaScript 将多个
文本框
合并成下拉框。具体做法如下:
1. 创建一个新的下拉框元素,使用 document.createElement("select")。
2. 循环遍历所有的
文本框
元素,使用 document.querySelectorAll() 或其他方法。
3. 在循环中,对于每个
文本框
元素,创建一个新的 option 元素。
4. 为每个 option 元素设置 value 属性为
文本框
的值。
5. 将每个 option 元素添加到新的下拉框元素中。
6. 将新的下拉框元素添加到 HTML 页面中的相应位置,使用 document.appendChild() 或其他方法。
7. 移除所有的
文本框
元素,可以使用 remove() 方法。
示例代码如下:
<!DOCTYPE html>
<input type="text" id="text1">
<input type="text" id="text2">
<input type="text" id="text3">
</form>
<button onclick="myFunction()">合并
文本框
</button>
<script>
function myFunction() {
var select = document.createElement("select");
var texts = document.querySelectorAll("input[type=text]");
for(var i = 0; i < texts.length; i++) {
var option = document.createElement("option");
option.value = texts[i].value;
option.text = texts[i].value;
select.appendChild(option);
document.body.appendChild(select);
texts.forEach(function(text) {
text.remove();
</script>
</body>
</html>
上面这段代码中,点击按钮执行myFunction()函数,在页面中新建一个下拉框,并且将原有的