我使用一个系统来创建然后将数据库中的数据查询到表中。问题是,如果我编写例如<h1>test</h1>
,表将其作为 html 代码执行。
我怎样才能阻止它执行代码,只是作为简单的文本查询。
您需要在使用前清理服务器上的输入。这对于防止 SQL 注入攻击也很重要。
您如何执行此操作取决于您使用的服务器端语言。
对于 PHP,
见: http: //php.net/manual/en/function.strip-tags.php
请参阅: http: //www.bitrepository.com/sanitize-data-to-prevent-sql-injection-attacks.html
您应该更改 html 中的一些字符,以免浏览器将其识别为 html。对于 phphtmlspecialchars()
将适合您的目的(http://php.net/manual/en/function.htmlspecialchars.php)。PS希望您在将输入插入数据库之前对其进行验证。