xss可以做啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xss可以做啥相关的知识,希望对你有一定的参考价值。

参考技术A 1、蠕虫(xss的究极魅力)

2、获取cookie

3、获取被攻击者真是ip:

      javascript 本身不具有此功能。但可以通过调用API

4、识别用户安装的软件

5、xss钓鱼

6、截图

7、键盘记录

8、访问浏览器访问记录

9、内网扫描

#if 我可以(不能)做啥?

【中文标题】#if 我可以(不能)做啥?【英文标题】:What can('t) I do with #if?#if 我可以(不能)做什么? 【发布时间】:2012-01-04 20:55:48 【问题描述】:

我在 config.h 中定义了一堆预处理器配置选项。我是这样使用它们的:

#if CONFIG_OPTION1
    /* do some stuff */
#endif

config.h 包含它们的定义:

#define CONFIG_OPTION1 _DEBUG
#define CONFIG_OPTION2 _DEBUG || (NDEBUG && _WIN64)
...

以上行不通。我想根据配置(调试、发布等)和/或其他定义打开和关闭这些配置选项。如果我这样做,它也不起作用:

#define CONFIG_OPTION1 defined(_DEBUG) || defined(NDEBUG)

即使条件看起来应该满足,我也永远不会进入#if CONFIG_OPTION1。当我写#if defined(_DEBUG) 时,它工作正常,但#if 使用宏作为条件失败。我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

好吧,正如您已经注意到的那样,您不能那样做。改为这样做:

#if _DEBUG || (NDEBUG && _WIN64)
#   define CONFIG_OPTION2 1
#endif

【讨论】:

+1。根据gcc.gnu.org/onlinedocs/cpp/Defined.html,“如果defined 运算符作为宏扩展的结果出现,则C 标准表示行为未定义。” @Dave:你不必,不。未定义的宏名称会自动解释为零。 @ruakh:依赖未定义的宏为零是一种非常糟糕的做法。最好将宏显式定义为 0 和 1,并将编译器配置为在使用未定义的预处理器符号时发出错误,这样您会发现基本错误,如拼写错误,以及使用符号而不包含正确的头文件等。 @Lindydancer:很有趣。你说的有道理,但是我上面链接的 GNU C Preprocessor 文档实际上提出了完全相反的建议,例如由于这个属性,#if defined BUFSIZE && BUFSIZE >= 1024 可以“简化”为#if BUFSIZE >= 1024

以上是关于xss可以做啥的主要内容,如果未能解决你的问题,请参考以下文章

开箱即用的Angular.js不能做啥,而jQuery可以做啥[关闭]

我们可以用 UCWA API (Lync) 做啥?以及我们不能用 UCWA API 做啥?

线程可以做啥,而基于任务的异步模式(TAP)和任务并行(TPL)与任务(或任务<T>)不能做啥?

多处理和莳萝可以一起做啥?

您可以在 CoreBluetooth 后台委托调用中做啥?

你可以用 Python 中的 COM/ActiveX 做啥? [关闭]