别担心,这个问题不是一段代码。一个问题“它安全吗?”。
Sql包含BEGIN
,FOR
,LOOP
,DECLARE
等文字/命令。看起来完全不同。我还没有研究过它(但是)我的代码中没有一个sql行(我还没有检查过插件但我确定WP插件使用WP函数)。
我的问题:如果我不使用SQL,我是否再次安全SQL注入?我只使用PHP,WP函数(用于通信数据库)和许多其他与数据库无关的语言。 WP功能是否安全?
对于熟悉SQL的人来说这似乎很愚蠢,有很多关于SQL注入的材料,但我找不到答案,我真的不能。
我的意思是WP功能:update_post_meta();
get_user_meta();
答案 0 :(得分:2)
任何语言或平台都不会对任何类型的注射都安全。还没有任何方法来保护任何代码/语言/平台免受任何类型的恶意注入。
问题是,王牌黑客总是领先一步,一旦新的安全更新可用于安全生产,他们就已经对该更新有了答案/黑客攻击。
请记住,SQL注入只是恶意注入的一小部分,绝对不是黑客访问网站的唯一方式。来自表单字段和URL的未经过消毒,未经验证的输入,文本区域中使用的PHP等等。有数百万种方法可以将网站扩展到SQL注入。
PHP和Wordpress相对安全, IF ,仅限
您使用的是更新版本(最新的可用版本)。 PHP 5.5将在2016年7月进行EOL,并且所有低成本主机仍使用PHP 5.2和PHP 5.3。这些版本不再获得安全更新,并且由于不再受支持而多年未更新。因此,在PHP 5.2上安装最新版本的WordPress就像拥有监狱栏的字符串一样,具有牢不可破的锁定以防止犯罪分子进入。
您正在使用的软件(如主题和插件)已正确编码。如果你有一个像WordPress这样非常安全的平台,但你的主题或插件是使用来自可能包含恶意代码的$_GET
变量的非santized值,这无关紧要。
正如我所说,你永远不会停止恶意注入代码,你只能让黑客更难攻击你的网站。确保:
PHP和WordPress(并且别忘了,MYSQL )是最新的
在安装任何主题或插件之前,请确保没有明显的漏洞,例如非清理数据
从不信任对网站或网页的任何输入,甚至不信任您自己。 根据这些输入所需的数据进行SANITIZE,VALIDATE和ESCAPE ALL 输入。
最后但并非最不重要的是,您的服务提供商。它真的不关心WordPress和PHP是否是最新的,托管服务提供商yoyu正在使用的是使用一个糟糕的安全系统。因此,请确保您的托管服务提供商知道他们正在做什么以及他们身边的安全性不是问题
如果您遵循此规则,您可以拥有一个相对安全的网站,黑客通常不会轻易入侵
答案 1 :(得分:0)
来自protecting queries against SQL Injection attacks:
上的WordPress Codex<?php $sql = $wpdb->prepare( 'query' , value_parameter[, value_parameter ... ] ); ?>
您还应该阅读数据库验证文档,以更全面地了解WordPress中的SQL转义。
如果您正确实施了代码,那么进行SQL注入是不太可能的。但不是100%保证 如果您对自己不确定,请使用标准plugin。