ini文件

跟开涛老师学shiro -- 身份验证

穿精又带淫゛_ 提交于 2020-03-02 17:15:50
身份验证 ,即在应用中谁能证明他就是他本人。一般提供如他们的身份ID一些标识信息来表明他就是他本人,如提供身份证,用户名/密码来证明。 在shiro中,用户需要提供principals (身份)和credentials(证明)给shiro,从而应用能验证用户身份: principals :身份,即主体的标识属性,可以是任何东西,如用户名、邮箱等,唯一即可。一个主体可以有多个principals,但只有一个Primary principals,一般是用户名/密码/手机号。 credentials :证明/凭证,即只有主体知道的安全值,如密码/数字证书等。 最常见的principals和credentials组合就是用户名/密码了(对,就是这句话,身份验证说到最后,还是这个公式 user.password == login.password) 。接下来先进行一个基本的身份认证。 另外两个相关的概念是之前提到的 Subject 及 Realm ,分别是主体及验证主体的数据源。 2.2 环境准备 本文使用Maven构建,因此需要一点Maven知识。首先准备环境依赖: Java代码 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version>

处理session跨域几种的方案

为君一笑 提交于 2020-03-02 01:46:53
常用跨域共用session的是登录模块,我相信很多开发的朋友的都遇到过,只需要一个地方登录,相关联的网站也是处于登录状态。两种情况:一种9streets.cn和a.9streets.cn之间,另一种是a.com b.com之间,这几天总结了一下处理方法。 方式一 : 在一,二级域名下调用如下代码: <?php include("DBsession.php"); $_SESSION['usssser_oke'] = 'xxssssss'; $_SESSION['user_oke'] = 'xxsss'; ?> DBsession.php <?php /** /** 直接引用api QQ登录的session写法,配置相关配置才行哈 * 设置session配置 */ /** * CREATE TABLE `tbl_session` ( * `session_id` varchar(255) binary NOT NULL default '', * `session_expires` int(10) unsigned NOT NULL default '0', * `session_data` text, * PRIMARY KEY (`session_id`) * ) ENGINE=MyISAM; */ class Session { //mysql的主机地址 const db

PHP7 扩展之自动化测试

百般思念 提交于 2020-03-01 05:56:13
在安装 PHP7 及各种扩展的过程中,如果你是用源码安装,会注意到在 make 成功之后总会有一句提示:Don't forget to run 'make test'. 这个 make test 就是运行 PHP 的自动化测试了。 如果你刚刚安装完 PHP7,直接运行 make test,经过漫长的等待时间之后,最终的统计结果大概是这样的: 会出现这么多 skip 和 fail 说明有一些扩展你没有安装,相关环境的配置也需要优化 不过一般来讲我们不需要运行这么多的测试脚本,尤其对单一扩展而言,针对相关接口来测试就可以了,所以我们进一步看看如何独立运行测试脚本 首先打开 php 的 Makefile文件,我们看看 make test 都做了什么 test: all @if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \ INI_FILE=`$(PHP_EXECUTABLE) -d 'display_errors=stderr' -r 'echo php_ini_loaded_file();' 2> /dev/null`; \ if test "$$INI_FILE"; then \ $(EGREP) -h -v $(PHP_DEPRECATED_DIRECTIVES_REGEX) "$$INI

c#读取INI文件

Deadly 提交于 2020-02-28 06:41:17
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace 读写ini文件 { public class Ini { // 声明INI文件的写操作函数 WritePrivateProfileString() [System.Runtime.InteropServices.DllImport("kernel32")] private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); // 声明INI文件的读操作函数 GetPrivateProfileString() [System.Runtime.InteropServices.DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string def, System.Text.StringBuilder retVal, int size, string filePath

.ini配置文件管理

空扰寡人 提交于 2020-02-25 20:48:11
配置文件在项目中常用于信息管理,例如数据库信息、服务器信息等,也可以用于环境切换。 配置文件主要有.ini和.conf两种类型。 这里我们使用Python的第三方库模块configparser实现.ini配置文件管理。 首先,准备好配置文件,文件名为conf.ini,文件内容如下: [mysql] host=127.0.0.1 port=3306 user=admin password=123456 这里需要说明一下,ini的文件内容主要有两部分组成,一个是section,一个是option,上面内容中[]内的mysql就是section,而下面的host、port、user、password都是option。 既然有了配置文件,我们如何进行管理呢? 首先安装configparser模块: pip install configparser 然后导入: from configparser import ConfigParser 实例化ConfigParser操作对象: conf = ConfigParser() 读取配置文件内容: conf.read('conf.ini', encoding='utf-8') 获取mysql的host: conf.get('mysql', 'host') get()方法的第一个参数是section,第二个参数是option,得到的结果默认是字符串类型

详解PHP实现定时任务的五种方法

梦想的初衷 提交于 2020-02-19 07:26:25
定时运行任务对于一个网站来说,是一个比较重要的任务,比如定时发布文档,定时清理垃圾信息等,现在的网站大多数都是采用PHP动态语言开发的,而对于PHP的实现决定了它没有Java和.Net这种AppServer的概念,而http协议是一个无状态的协议,PHP只能被用户触发,被调用,调用后会自动退出内存,没有常驻内存。 如果非要PHP去实现定时任务, 可以有以下几种解决方案: 一. 简单直接不顾后果型 ? 1 2 3 4 5 6 7 8 9 10 <?php ignore_user_abort(); //关掉浏览器,PHP脚本也可以继续执行. set_time_limit(0); // 通过set_time_limit(0)可以让程序无限制的执行下去 ini_set ( 'memory_limit' , '512M' ); // 设置内存限制 $interval =60*30; // 每隔半小时运行 do { //ToDo sleep( $interval ); // 等待5分钟 } while (true); 缺点: 启动之后,便无法控制, 除非终止 PHP 宿主. 不要采用这样方法, 除非你是黑客. 二. 简单可控型 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 config.php <?php return 1; ?>

详解PHP实现定时任务的五种方法

蓝咒 提交于 2020-02-19 05:39:16
定时运行任务对于一个网站来说,是一个比较重要的任务,比如定时发布文档,定时清理垃圾信息等,现在的网站大多数都是采用PHP动态语言开发的,而对于PHP的实现决定了它没有Java和.Net这种AppServer的概念,而http协议是一个无状态的协议,PHP只能被用户触发,被调用,调用后会自动退出内存,没有常驻内存。 如果非要PHP去实现定时任务, 可以有以下几种解决方案: 一. 简单直接不顾后果型 ? 1 2 3 4 5 6 7 8 9 10 <?php ignore_user_abort(); //关掉浏览器,PHP脚本也可以继续执行. set_time_limit(0); // 通过set_time_limit(0)可以让程序无限制的执行下去 ini_set ( 'memory_limit' , '512M' ); // 设置内存限制 $interval =60*30; // 每隔半小时运行 do { //ToDo sleep( $interval ); // 等待5分钟 } while (true); 缺点: 启动之后,便无法控制, 除非终止 PHP 宿主. 不要采用这样方法, 除非你是黑客. 二. 简单可控型 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 config.php <?php return 1; ?>

eclipse启动报错 see the log file的解决办法

微笑、不失礼 提交于 2020-02-14 17:26:45
来自百度知道是不是eclipse版本太新引起的,我在更新之后也出现了这样的问题, 解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。 解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。 来源: https://www.cnblogs.com/Flyfishy/p/12307821.html

[SUCTF 2019]CheckIn

房东的猫 提交于 2020-02-09 10:44:05
进入靶场只有一个文件上传界面,上传php一句话木马提示非法后缀。 尝试利用php后缀的多样性绕过,发现都被过滤掉了,先把php改成.jpg的图片,提示说有问号在内容中。 php后缀的多样性:php语言除了可以解析以php为后缀的文件,还可以解析php2,php3、php4、php5、php6、phtml、pht、pHp,Php,phP这些后缀的文件。(php1、php2上传失败php3、php4仍有可能上传成功,因为不同的服务器,可以上传的文件类型也不同,所以需要进行逐个排除) 利用JavaScript语句来绕过对问号的检测,只需要把里面的代码改成 <script language="php">(这里写上php代码即可)</script> eg: <script language="php">(eval (phpinfo();))</script> 提示说这个不是个图片,猜测应该是要加一下GIF的头,所以把payload改成 GIF89 <script language="php">(eval (phpinfo();))</script> 上传成功 但是直接访问这个文件的话,服务器会把它当做jpg图片来处理,而不会当成php脚本来解析,所以直接访问失败。 (*)利用.user.ini来将jpg图片解析成php文件 什么是.user.ini? 先从php.ini说起,php

C# WinForm读写INI文件

左心房为你撑大大i 提交于 2020-02-08 07:48:12
作应用系统开发时,管理配置是必不可少的。例如数据库服务器的配置、安装和更新配置等等。由于Xml的兴起,现在的配置文件大都是以xml文档来存储。比如Visual Studio.Net自身的配置文件Mashine.config,Asp.Net的配置文件Web.Config,都是xml的格式。 传统的配置文件ini已有被xml文件逐步代替的趋势,但对于简单的配置,ini文件还是有用武之地的,尤其现在绿色软件的流行,越来越多的程序将自己的一些配置信息保存到了INI文件中。ini文件其实就是一个文本文件,它有固定的格式,节Section的名字用[]括起来,然后换行说明key的值: [section] key=value 读取ini try { StreamReader sr = new StreamReader("game.ini", Encoding.GetEncoding("gb2312")); if(sr.Peek() >= 0) { txtIP.Text = sr.ReadLine(); txtPort.Text=sr.ReadLine(); txtAppName.Text=sr.ReadLine(); txtPassword.Text=sr.ReadLine(); txtDBConnet.Text = sr.ReadLine(); GameWinRateUpDown.Text =