我知道某些字符在表单输入的值属性中是不允许的。例如,如果我将这个属性单独封闭,我不能安全地在其中使用单引号。有没有其他字符我不能在这个属性中使用?表单输入的值属性中允许使用什么字符
0
A
回答
1
除非另有规定,属性HTML元素可以具有任意的字符串值,包括空字符串。除非明确指出,对于可以在这些属性中指定哪些文本没有限制。
值内容属性给出了输入元素的默认值。当值内容属性被添加,设置或删除时,如果控件的脏值标志为false,则用户代理必须将该元素的值设置为值内容属性的值(如果有),或者空字符串否则,然后运行当前值清理算法(如果已定义)。
所以没有限制,但价值可能会被价值净化算法改变。
举例来说,如果我用单接近这个属性,我无法安全地在它使用单引号。
你可以。您只能使用文字单引号。你必须使用字符引用。
0
用户可以在浏览器的输入中写入任何值,当您将不安全的字符串放入输入值时,js也会自动转义引号。但是,如果你使用PHP这样的打印值:
<input type='text' value='<?php echo $_POST['someField']; ?>' name='someField'>
您将有XSS安全异常(如果你通过“>警报(”一些');到输入并提交它,你将有JS警报) 你可以使用PHP函数 htmlspecialchars($_POST['someField'], ENT_QUOTES)
2
其他一些字符,例如”,0‘将导致问题在值字段中使用时”,和&应逸出
与代码值的字符。’ - 如它将会在html文档中的任何地方使用 可能有其他控制字符有问题(如Ctrl-Z),但我不知道。
相关问题
- 1. 单选按钮的值属性仅允许使用数字
- 2. 输入标签内的HTML名称属性允许使用哪些字符?
- 3. 为什么输入标签不允许直接在表单标签中使用?
- 4. 此时在元素输入上不允许属性值(在表单上)
- 5. Typescript - 属性的允许值
- 6. 我可以使用表单中的什么属性将此索引字符串['size']值指定为属性值?
- 7. 不允许在jQuery的表单输入字段中输入一些数字
- 8. 表单输入文本字段中允许的字符数限制
- 9. 为什么在HTML/XHTML严格中允许输入大小属性?
- 10. Angular js md-datepicker允许输入字符
- 11. 允许特殊字符输入密码
- 12. 允许浮点值输入
- 13. Angular2 - 只允许在输入中输入Alpha字符
- 14. 在输入中允许输入西班牙特殊字符
- 15. 表格中允许的html属性
- 16. 为什么输入标签在“值”属性中输入用户输入
- 17. Scala XML API:为什么允许NodeSeq作为属性值?
- 18. JSON.parse中不允许使用什么字符?
- 19. DSE图形标签名称和属性键的允许字符是什么?
- 20. 为什么不提示在批处理文件中输入允许DASH字符?
- 21. 表单输入属性
- 22. 使用javascript查询拉力赛中属性的允许值
- 23. 不允许输入字段中的特殊字符
- 24. 不允许不必要的字符在字段中输入
- 25. 用值属性替换表单中的每个输入
- 26. 是否允许XML属性值中的换行符?
- 27. jQuery插件允许“class”属性中的名称/值属性?
- 28. 为什么我的XSD允许在我的XML中使用禁止的属性?
- 29. 允许UnsafeUpdates属性
- 30. ASP:ItemTemplate中的DropDownList:为什么允许SelectedValue属性?
您不能在使用单引号的属性中使用单引号,因为它在您解析并混淆HTML解析器之前会关闭该属性。这并不意味着不允许使用单引号。用双引号和单引号在内的属性是好还是转义他们,所以他们不关闭属性。我不知道任何不允许使用该属性的字符 – GillesC